diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml index 645783a1a6..b801c40443 100644 --- a/doc/src/sgml/contrib.sgml +++ b/doc/src/sgml/contrib.sgml @@ -1,4 +1,4 @@ - + Additional Supplied Modules @@ -101,6 +101,7 @@ psql -d dbname -f SHAREDIR/contrib/module.sql &oid2name; &pageinspect; &passwordcheck; + &pgarchivecleanup; &pgbench; &pgbuffercache; &pgcrypto; diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index dc2044b77c..30b5fca72d 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -1,4 +1,4 @@ - + @@ -114,6 +114,7 @@ + diff --git a/doc/src/sgml/pgarchivecleanup.sgml b/doc/src/sgml/pgarchivecleanup.sgml new file mode 100644 index 0000000000..7a839ba5f0 --- /dev/null +++ b/doc/src/sgml/pgarchivecleanup.sgml @@ -0,0 +1,158 @@ + + + + pg_archivecleanup + + + pg_archivecleanup + + + + pg_archivecleanup is designed to cleanup an archive when used + as an archive_cleanup_command when running with + standby_mode = on. pg_archivecleanup can + also be used as a standalone program to clean WAL file archives. + + + + pg_archivecleanup features include: + + + + + Written in C, so very portable and easy to install + + + + + Easy-to-modify source code, with specifically designated + sections to modify for your own needs + + + + + + Usage + + + To configure a standby + server to use pg_archivecleanup, put this into its + recovery.conf configuration file: + + +archive_cleanup_command = 'pg_archivecleanup archiveDir %r' + + + where archiveDir is the directory from which WAL segment + files should be restored. + + + When used within archive_cleanup_command, + all WAL files logically preceding the value of the %r + will be removed 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. + + + The full syntax of pg_archivecleanup's command line is + + +pg_archivecleanup option ... archivelocation restartwalfile + + + When used as a standalone program all WAL files logically preceding the + restartwalfile will be removed archivelocation. + In this mode, if you specify a .backup filename, then only the file prefix + will be used as the restartwalfile. This allows 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 filename 000000010000003700000010: + + +pg_archivecleanup -d archive 000000010000003700000010.00000020.backup + +pg_archivecleanup: keep WAL files 000000010000003700000010 and later +pg_archivecleanup: removing "archive/00000001000000370000000F" +pg_archivecleanup: removing "archive/00000001000000370000000E" + + + pg_archivecleanup assumes that + archivelocation is a directory readable and writable by the + server-owning user. + + + + + <application>pg_archivecleanup</> Options + + + pg_archivecleanup accepts the following command-line arguments: + + + + + + + + Print lots of debug logging output on stderr. + + + + + + + + + + + Examples + + On Linux or Unix systems, you might use: + + +archive_cleanup_command = 'pg_archivecleanup -d .../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 local to the standby. + This will: + + + + + produce debugging output in standby.log + + + + + remove no-longer-needed files from the archive directory + + + + + + + + Supported server versions + + + 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. + + + + + Author + + + Simon Riggs simon@2ndquadrant.com + + + +