Here's a script to make your backup and rsync it to a remote destination: #!/bin/bash echo "checkpoint" echo "CHECKPOINT;" | /local/pkg/bin/psql template1 echo "start backup" echo "SELECT pg_start_backup('cisoradr:/cis/pgsql/katana7/backup');" | /local/pkg/bin/psql template1 echo "rsync" /local/pkg/bin/rsync --delete -azxH /local/app/postgres/data pg...@cisoradr-ext:/cis/pgsql/katana7/backup/. echo "Stop backup" echo "SELECT pg_stop_backup();" | /local/pkg/bin/psql template1
Sam -----Original Message----- From: pgsql-admin-ow...@postgresql.org [mailto:pgsql-admin-ow...@postgresql.org] On Behalf Of Florian Pflug Sent: Sunday, 6 June 2010 10:11 PM To: gna...@zoniac.com Cc: pgsql-admin@postgresql.org Subject: Re: [ADMIN] PITR Recovery Question On Jun 5, 2010, at 9:05 , Gnanakumar wrote: > Thanks for your valuable suggestion and a detailed step on common way to use > PITR. Things are very clear now except that I've some other question in > connection to this. > >> The correct way to clean out pg_xlog therefore is to either disable WAL >> archiving, or to make sure your archive_command succeeds eventually. > > Probably I would go with the 2nd option, that is allowing archive command to > run successfully until things are completely clear. > > But this question is for my understanding: In case if I decide to go with > 1st option, that is disable WAL archiving for a while, will it completely > clean out files from pg_xlog/ and pg_xlog/archive_status/ directories, so > that I can start the PITR by taking base backup by enabling WAL archiving > later? If you disable WAL archiving by setting archive_command to 'true', it'll surely clean out the files, since postgresql will actually believe it archived them successfully. I not sure what happens if you set archive_command to '' - that might disable the archiving process completely, and hence prevent the cleanup. >> A common way to use PITR is the following. > >> 4) You remove all WAL segments that predate the remaining base backups. For >> that, you find the backup history file in the archive directory that >> corresponds to the oldest remaining base backup and then remove all WAL >> segments whose name is numerically smaller than the <number1> from that >> backup history file. Keeping older WAL segments buys you nothing - WAL files >> without a base backup that *predates* them are worthless. > > Can you share with me any automated shell script that takes care of this > removal automatically? Or can you share any systematic way (steps) of doing > things if I want to do this manually? Sorry, I don't have a script for this at hand. But a quick search through the pgsql-admin archive brings up this post, which contains such a script. http://archives.postgresql.org/pgsql-admin/2006-03/msg00337.php best regards, Florian Pflug -- Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin -- Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin