On Wed, Nov 6, 2013 at 9:40 AM, Jeff Ross <jr...@wykids.org> wrote:

_postgresql@nirvana:/var/postgresql $ cat start_hot_standby.sh
> #!/bin/sh
> backup_label=wykids_`date +%Y-%m-%d`
> #remove any existing wal files on the standby
> ssh dukkha.internal rm -rf /wal/*
> #stop the standby server if it is running
> ssh dukkha.internal sudo /usr/local/bin/svc -d /service/postgresql.5432
> psql -c "select pg_start_backup('$backup_label');" template1
> rsync \
>         --copy-links \
>         --delete \
>         --exclude=backup_label \
>


Excluding backup_label is exactly the wrong thing to do.  The only reason
backup_label is created in the first place is so that it can be copied to
the replica, where it is needed.  It's existence on the master is a
nuisance.



>         --exclude=postgresql.conf \
>         --exclude=recovery.done \
>         -e ssh -avz /var/postgresql/data.93.5432/ \
>         dukkha.internal:/var/postgresql/data.93.5432/
> ssh dukkha.internal rm -f /var/postgresql/data.93.5432/pg_xlog/*
> ssh dukkha.internal rm -f /var/postgresql/data.93.5432/
> pg_xlog/archive_status/*
> ssh dukkha.internal rm -f /var/postgresql/data.93.5432/pg_log/*
> ssh dukkha.internal rm -f /var/postgresql/data.93.5432/postmaster.pid
> ssh dukkha.internal ln -s /var/postgresql/recovery.conf
> /var/postgresql/data.93.5432/recovery.conf
> psql -c "select pg_stop_backup();" template1
> ssh dukkha.internal sudo /usr/local/bin/svc -u /service/postgresql.5432
>
>
> _postgresql@nirvana:/var/postgresql $ sh -x start_hot_standby.sh
> + date +%Y-%m-%d
> + backup_label=wykids_2013-11-06
> + ssh dukkha.internal rm -rf /wal/*
> + ssh dukkha.internal sudo /usr/local/bin/svc -d /service/postgresql.5432
> + rsync -e ssh /wal/ dukkha.internal:/wal/
> skipping directory .
>


Where is the above rsync coming from?  It doesn't seem to be in the shell
script you showed.

Anyway, I think you need to copy the wal over after you call
pg_stop_backup, not before you call pg_start_backup.

Cheers,

Jeff

Reply via email to