Continuous archiving and restore questions - Mailing list pgsql-general

From Pedro Salgueiro
Subject Continuous archiving and restore questions
Date
Msg-id CAF4yKbHCGJJt3dvzXD_A9vOGg985iB9LXR7_b7fwOu8rind8Cw@mail.gmail.com
Whole thread Raw
Responses Re: Continuous archiving and restore questions  (Pedro Salgueiro <pedro.salgueiro@cortex-intelligence.com>)
Re: Continuous archiving and restore questions  (Jeff Janes <jeff.janes@gmail.com>)
List pgsql-general
Hi,

In the past couple of days I have been trying Continuous Archiving and Point-in-Time Recovery (PITR) and I have some doubts.

I successfully configured postgresql to perform the archive of the wal files, using the following properties in postgresql.conf

archive_mode = on
wal_level = archive
archive_command = 'cp %p /opt/postgres-wal-backups/wal-files/%f'
max_wal_senders = 3

To perform the base backup, I am using the pg_basebackup tool:

pg_basebackup --format tar --xlog -D - | gzip > ${BASE_BACKUP_FOLDER}/base_backup.tar.gz

After making a base backup, I made some changes on the database, including creating new tables and adding data to them. Then I moved the data folder to a safe place, restored the base backup, created the recovery.conf file, copied the WAL files that were unarchived back to the restored data folder, and restarted postgresql.

I used the following recovery.conf file:

restore_command = 'cp /opt/postgres-wal-backups/wal-files/%f %p'
archive_cleanup_command = 'pg_archivecleanup  /opt/postgres-wal-backups/wal-files %r'

The restore procedure worked like a charm, and all data was recovered.

Then I created some more tables and added more data. Then made the same restore procedure as before, using the same base backup. Apparently the restore was successful and without errors, but the newly created data was not restored, only the one which was created before the first restore.

Everything that was made after the first restore was lost.

Then I tried to make a fresh base backup, make some changes on the database, and then, issue the restore procedure just as before, but using the new base backup. This time, the changes made after the base backup were restored successfully.

It seems that after a restore is made, I need to make a fresh base backup in order to be able to make future restores. Is this correct, or am I doing something wrong?

Thank you,
Pedro Salgueiro




 


pgsql-general by date:

Previous
From: Florian Weimer
Date:
Subject: Re: Re: PostgreSQL specific datatypes very confusing for beginners who use wrappers around JDBC
Next
From: Edson Richter
Date:
Subject: Replicating SQL 2000 to PostgreSQL 9.x