Hello,

I have a streaming replication setup along with WAL archive.

archive_command = ‘test ! -f /var/pg_archive/%f && cp %p <archive
location>%f && scp %p postgres@192.168.0.123:<archive location>/%f'

When the SCP command fails, the master repeatedly tries to send the
archived WAL to standby. But during this time, the pg_xlog directly grew
with newer WAL files.

The streaming replication hasn't had the problem because on my check, the
WAL write location on the primary was same with the last WAL location
received/replayed in standby.

Since the pg_xlog in the master had few newer WAL files, the master archive
is lagging to pick the current pg_xlog WAL file.  When a new WAL occur in
the pg_xlog, Master picks the old WAL file to send to the standby.

How should I force the PostgreSQL to batch copy the lagging WAL files to
pg_archive and then send to standby.  Can I do this manually using rsync?
I wonder how PostgreSQL knows the changes because it maintains info in
archive_status with extension as .ready and .done.

Please assist.

Thanks,
John Britto

Reply via email to