I have a situation here -
I am trying to restore the production online backup and recover the same.
- I had initially rsynced (excluded pg_log) the data directory and the tarred and zipped the same
- SCP'd the tar to a different server and untarred and unzipped the same
- I got an error "unable to read <filename> from pg_clog location" (file size is around 160K)
I have an backup as on Aug 24th and the pg_clog file which pg is unable to read is as on Aug 5th.
I am aware that the size of the files in pg_clog is supposed to be 256K.
What i understood is that, rsync some how missed out on syncing the files in "pg_clog", so, i had manually coped the missing pg_clog file from production and tried recovery.
To my surprise, PG recovery had asked for the corresponding pg_xlog (wal archive) file as on Aug 5th.
Is there a way to recovery this ?
Do i need to get that particular wal archive which is before online backup time ?
I do have all the other files till Aug24th.
By this experience what i understand is that Postgresql stores committed and uncommited transactions in pg_xlog / wal archive files and information (not the transaction data) about transaction commit status is stored in pg_clog. Am I correct ?
I am in the process of designing a disaster recovery planner for our productions systems.
Version - PG-9.0.1
OS - RHEL 5
Please advice !
Regards,
Venkat