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
>

Reply via email to