Andrew Dunstan wrote: > > The docs contain the following example of an archive_command for use > with standalone hot backup: > > test -f /var/lib/pgsql/backup_in_progress && cp -i %p > /var/lib/pgsql/archive/%f </dev/null > > Unfortunately, as I found out when I tried it, this command returns a > non-zero (on Linux/bash) when the backup_in_progress file doesn't exist, > which means that we keep accumulating WAL files when we should be > recycling them. > > ISTM it would be better to use this: > > if test -f /var/lib/pgsql/backup_in_progress ; then cp -i %p > /var/lib/pgsql/archive/%f </dev/null ; fi > > which only returns non-zero if the copy fails. > > If there's no objection I'll patch the docs accordingly - should they be > backpatched also?
Yea, that example was wrong. Good catch. I did found a cleaner way to implement it though: archive_command = 'test ! -f /var/lib/pgsql/backup_in_progress || cp -i %p /var/lib/pgsql/archive/%f < /dev/null' That keeps the one-line format rather than the 'if' block with semicolons required. I have applied this to CVS. -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend