> >"You need to have statistics recovered to the same state as they were > >when you took the FS level backup of your database after shutting down > >the server." > Correct
> > >"Shutting down" is important since that is when you would have > >statistics files ($PGDATA/pg_stat/*.stat) available to backup. They > >capture the statistics as of when the server was shut down. > Agreed >What I did: > > >1) Collect a few statistics in a result file from a currently running > >server. For example, the result of the query "select * from > >pg_stat_user_tables", into say stats1.txt > > >2) Clean shut down the server. Take a snapshot of the data directory, > >"cp -r $pgdata $pgbkp" > > >3) Start the server and run a few pgbench tests so that statistics > >change. Again collect stats, same as in (1) into say stats2.txt > > >4) Write $pgbkp/recovery.conf with appropriate restore_command and > >maybe recovery target (PITR), which I did not, though. Note that we > >have archiving enabled. > > >5) Start the server using -D $pgbkp (may be with port changed for the > >sake of testing). > > >6) After server started in (5) is done recovering and comes online, > >collect stats again into say stats3.txt > > >7) Compare stats3.txt with stats1.txt and stats2.txt. > > >8) I observed that stats3.txt == stats1.txt. That is stats after > >recovery are same as they were when the snapshot was taken. > > Thank you for all the effort! A question > When server was restarted in (5) which stats file was loaded stats1.txt or stats.2.txt?. I think it must have been stats1.txt as stats3.txt = stats1.txt. What happens if stats2.txt is loaded on (5) instead on stats1.txt? I am trying to figure out if the Server will reject stats file from a different timeline than the one its been rolled back to. regards Sameer > >