Error in starting PostgreSQL Server 7.4 after crash
It all started like this:
My postgresql 7.4 running in CentOS crashed with one database missing in all my backups. But, I have a copy of the entire pgsql/data directory (which is unforunately a version grabbed while the server was still running...)
I need to recover that database and I have tried the following:
Installed postgre 7.4 again and replaced the new data folder with the one from my backup, didn't work: postgresql service couldn't start.
So, I used pg_resetxlog PGDATA with PGDATA pointing to my current /pgsql/data. It said transaction log reset. At this point, the postgresql is not running, so I cannot dump my old data. Starting the postgresql doesn't work.
So I tried: export PGDATA=/var/lib/pgsql/data
Then I tried to pg_ctl start but ended up with following message:
-bash-3.00$ pg_ctl start
FATAL: database files are incompatible with server
DETAIL: The database cluster was initialized with BLCKSZ 6330300, but the server was compiled with BLCKSZ 8192.
HINT: It looks like you need to recompile or initdb.
postmaster successfully started
-bash-3.00$
Any suggestions? Thanks in advance.
_________________________________________________________________
Stay up to date on your PC, the Web, and your mobile phone with Windows Live.
http://clk.atdmt.com/MRT/go/msnnkwxp1020093185mrt/direct/01/
sagar koirala <sagarkoirala25@hotmail.com> writes:
So, I used pg_resetxlog PGDATA with PGDATA pointing to my current /pgsql/data. It said transaction log reset. At this point, the postgresql is not running, so I cannot dump my old data. Starting the postgresql doesn't work.
So I tried: export PGDATA=/var/lib/pgsql/data
Then I tried to pg_ctl start but ended up with following message:
-bash-3.00$ pg_ctl start
FATAL: database files are incompatible with server
DETAIL: The database cluster was initialized with BLCKSZ 6330300, but the server was compiled with BLCKSZ 8192.
HINT: It looks like you need to recompile or initdb.
Seems like you must have used a pg_resetxlog that doesn't actually match
your database. You omitted all the details of "installed postgres 7.4
again" but I'll bet you messed up there somehow. (32-bit vs 64-bit is
one possible gotcha that I don't think 7.4 defended against very well.)
Any suggestions? Thanks in advance.
Get the right software version and start over from the data-directory
backup that I hope you still have. The data directory you have now is
likely unsalvageable --- just running pg_resetxlog again is unlikely
to fix it.
Worst case, you'll have to initdb and start from the latest pg_dump
dump you've got ...
regards, tom lane