Thread: Error in starting PostgreSQL Server 7.4 after crash

Error in starting PostgreSQL Server 7.4 after crash

From
sagar koirala
Date:
It all started like this:
My postgresql 7.4 running in CentOS crashed with one database missing in al=
l 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 f=
rom my backup, didn't work: postgresql service couldn't start.



So, I used pg_resetxlog PGDATA with PGDATA pointing to my current /pgsql/da=
ta. It said transaction log reset. At this point, the postgresql is not run=
ning, so I cannot dump my old data. Starting the postgresql doesn't work.

So I tried: export PGDATA=3D/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$=20

Any suggestions? Thanks in advance.



_________________________________________________________________
Stay up to date on your PC, the Web, and your mobile phone with Windows Liv=
e.
http://clk.atdmt.com/MRT/go/msnnkwxp1020093185mrt/direct/01/=

Re: Error in starting PostgreSQL Server 7.4 after crash

From
Tom Lane
Date:
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