Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PG_ARCHIVECLEANUP(1)	  PostgreSQL 18.6 Documentation     PG_ARCHIVECLEANUP(1)

NAME
     pg_archivecleanup - clean up PostgreSQL WAL archive files

SYNOPSIS
     pg_archivecleanup [option...] archivelocation oldestkeptwalfile

DESCRIPTION
     pg_archivecleanup	is  designed to be used as an archive_cleanup_command to
     clean up WAL file archives when running  as  a  standby  server  (see  Sec-
     tion 26.2).   pg_archivecleanup can also be used as a standalone program to
     clean WAL file archives.

     To configure a standby server to use pg_archivecleanup, put this  into  its
     postgresql.conf configuration file:

	 archive_cleanup_command = 'pg_archivecleanup archivelocation %r'

     where  archivelocation is the directory from which WAL segment files should
     be removed.

     When used within archive_cleanup_command, all WAL files logically preceding
     the value of the %r argument will be  removed  from  archivelocation.  This
     minimizes	the  number  of files that need to be retained, while preserving
     crash-restart capability. Use of  this  parameter	is  appropriate  if  the
     archivelocation  is  a  transient	staging area for this particular standby
     server, but not when the archivelocation is intended  as  a  long-term  WAL
     archive area, or when multiple standby servers are recovering from the same
     archive location.

     When  used  as  a	standalone program all WAL files logically preceding the
     oldestkeptwalfile will be removed from archivelocation. In  this  mode,  if
     you specify a .partial or .backup file name, then only the file prefix will
     be  used  as the oldestkeptwalfile. This treatment of .backup file name al-
     lows you to remove all WAL files archived prior to a specific  base  backup
     without  error.  For  example,  the following example will remove all files
     older than WAL file name 000000010000003700000010:

	 pg_archivecleanup -d archive 000000010000003700000010.00000020.backup

	 pg_archivecleanup:  keep WAL file "archive/000000010000003700000010" and later
	 pg_archivecleanup:  removing file "archive/00000001000000370000000F"
	 pg_archivecleanup:  removing file "archive/00000001000000370000000E"

     pg_archivecleanup assumes that archivelocation is a directory readable  and
     writable by the server-owning user.

OPTIONS
     pg_archivecleanup accepts the following command-line arguments:

     -b
     --clean-backup-history
	 Remove  backup  history  files  as well. See Section 25.3.2 for details
	 about backup history files.

     -d
     --debug
	 Print lots of debug logging output on stderr.

     -n
     --dry-run
	 Print the names of the files that would have  been  removed  on  stdout
	 (performs a dry run).

     -V
     --version
	 Print the pg_archivecleanup version and exit.

     -x extension
     --strip-extension=extension
	 Provide  an  extension that will be stripped from all file names before
	 deciding if they should be deleted. This is typically useful for clean-
	 ing up archives that have been compressed during storage, and therefore
	 have had an extension added by the compression program. For example: -x
	 .gz.

     -?
     --help
	 Show help about pg_archivecleanup command line arguments, and exit.

ENVIRONMENT
     The environment variable PG_COLOR specifies whether to use color  in  diag-
     nostic messages. Possible values are always, auto and never.

NOTES
     pg_archivecleanup	is  designed  to work with PostgreSQL 8.0 and later when
     used as a standalone utility, or with PostgreSQL 9.0 and later when used as
     an archive cleanup command.

     pg_archivecleanup is written in C and has an  easy-to-modify  source  code,
     with specifically designated sections to modify for your own needs

EXAMPLES
     On Linux or Unix systems, you might use:

	 archive_cleanup_command = 'pg_archivecleanup -d /mnt/standby/archive %r 2>>cleanup.log'

     where the archive directory is physically located on the standby server, so
     that  the archive_command is accessing it across NFS, but the files are lo-
     cal to the standby. This will:

     *	 produce debugging output in cleanup.log

     *	 remove no-longer-needed files from the archive directory

PostgreSQL 18.6 		      2026		    PG_ARCHIVECLEANUP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pg_archivecleanup&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help