Обсуждение: Cleanup of same archive used by multiple standbys
What is the suggested technique for cleaning up an archive location shared by multiple standbys. Looks like pg_archivecleanup cannot be used as %r refers to last restartpoint of only a single standby server.
Do I need to create a custom script that somehow determines the latest common restartpoint of ALL the standbys and then manually run pg_archivecleanup with that value ?
Thanks.
Also couple of additional related question:
2. Am I correct in my assumption that if for some reason archive is not cleaned up and runs out of space, the WALs will accumulate in pg_xlog directory on the primary. If pg_xlog was to then run out of space, Primary server will stop accepting new writes and fail ?
3. If my standbys are in different datacenter, what is the suggested location of the archive directory ? Is it recommended to have it local in the data center of the primary server or somehow have it over in the remote data center.
Thanks for any pointers.
From: A J <s5aly@yahoo.com>
To: PG Admin <pgsql-admin@postgresql.org>
Sent: Wednesday, August 10, 2011 12:41 PM
Subject: Cleanup of same archive used by multiple standbys
What is the suggested technique for cleaning up an archive location shared by multiple standbys. Looks like pg_archivecleanup cannot be used as %r refers to last restartpoint of only a single standby server.
Do I need to create a custom script that somehow determines the latest common restartpoint of ALL the standbys and then manually run pg_archivecleanup with that value ?
Thanks.
A J <s5aly@yahoo.com> wrote: > What is the suggested technique for cleaning up an archive > location shared by multiple standbys. Looks like pg_archivecleanup > cannot be used as %r refers to last restartpoint of only a single > standby server. Do I need to create a custom script that somehow > determines the latest common restartpoint of ALL the standbys and > then manually run pg_archivecleanup with that value ? I seem to remember that in a previous discussion of this the best idea seemed to be to create a hard link to the file for each standby, such that when the last standby cleans up the file, it is actually deleted. -Kevin
A J <s5aly@yahoo.com> wrote: > Also couple of additional related question: > 2. Am I correct in my assumption that if for some reason archive > is not cleaned up and runs out of space, the WALs will accumulate > in pg_xlog directory on the primary. If pg_xlog was to then run > out of space, Primary server will stop accepting new writes and > fail ? That sounds correct to me. I've never seen it in practice, though; we would need to ignore alerts from our monitoring for quite some time before it got to that point. > 3. If my standbys are in different datacenter, what is the > suggested location of the archive directory ? Is it recommended to > have it local in the data center of the primary server or somehow > have it over in the remote data center. In our shop we have found it advantageous to immediately write it locally, and then use rsync (through ssh and a daemon) to bring the remote site(s) into sync. -Kevin