What does your shell script do that you need a script for archiving? The archive command is usually a cp/scp/rsync command, you usually don't need more than that.
Regards, Strahinja On Fri, Apr 26, 2013 at 3:55 PM, Albe Laurenz <laurenz.a...@wien.gv.at>wrote: > German Becker wrote: > > Here is the archive part of the config: > > > > archive_mode = on # allows archiving to be done > > # (change requires restart) > > archive_command = '/var/lib/postgresql/scripts/archive_copy.sh %p %f' > # command to use to > > archive a logfile segment > > #archive_timeout = 0 # force a logfile segment switch after > this > > # number of seconds; 0 disables > > So the problem might be in that script. > > > The archive coommand makes a local copy and then it copies to the backup > server via ssh. Both copies > > are md5-checked and retried up to 3 times in case of failure. > > archive_command should not retry the operation, but rather > return a non-zero return code. > > > I have seen under heavy load that some WALs are skipped, some have less > size, some are corrupted (i,e, > > the loop fails 3 times). > > I'm not sure about the return value (checking it). What is the expected > behaviour of the archiver? > > Will it retry de archive if archive command returns differnt than 0? > Will it retain the WAL segment > > until it is succesfuly archived? > > See > http://www.postgresql.org/docs/current/static/continuous-archiving.html#BACKUP-ARCHIVING-WAL > > archive_command should exit with zero only if the > WAL segment was archived successfully. > PostgreSQL will retry and retain the WAL segment until > archival succeeds. > > Yours, > Laurenz Albe >