Error in starting PostgreSQL Server 7.4 after crash

Started by sagar koiralaover 17 years ago2 messagesbugs
Jump to latest
#1sagar koirala
sagarkoirala25@hotmail.com

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/

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: sagar koirala (#1)
Re: Error in starting PostgreSQL Server 7.4 after crash

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