Re: Uregent- data Recovery - PG_CONTROL_VERSION mismatch

From: "Jim C(dot) Nasby" <jim(at)nasby(dot)net>
To: ABC <marblerock26(at)yahoo(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Uregent- data Recovery - PG_CONTROL_VERSION mismatch
Date: 2007-01-21 17:47:01
Message-ID: 20070121174700.GE77382@nasby.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

AFAIK PG_CONTROL_VERSION should never be 0, so it sounds like your
hardware corrupted something. IF you're doing all of this on the *same
hardware and OS*, I suggest the following:

Make a copy of the data directory (ie: cp -R)
With the 7.2 initdb, create a new cluster somewhere (doesn't matter
where, we only need one file from it)
Copy global/pg_control from the cluster you just created into the copy
of the cluster you made
Try starting 7.2 against that copy

pg_control is a safeguard mechanism to ensure that not only is the
version of the database compatible with the files on disk, but that the
endianness and other things match as well. That's why it's critical that
you do this on the same hardware.

If you do get the database up, I'd immediately pg_dumpall to a remote
machine, since your hardware seems untrustworthy.

On Sun, Jan 21, 2007 at 05:00:39AM -0800, ABC wrote:
> We are facing a probelm and its very urgent to sort it out. Please Help.
> The database server unexpectedly shutdown down due to power failure. On reboot, Postgresql server fails to start giving following Error:
> ----------------------------------------------------------------------------------------------------------
> LOG: could not create IPv6 socket: Address family not supported by protocol
> FATAL: database files are incompatible with server
> DETAIL: The database cluster was initialized with PG_CONTROL_VERSION 0, but the server was compiled with PG_CONTROL_VERSION 72.
> HINT: It looks like you need to initdb.
> ----------------------------------------------------------------------------------------------------------
>
> we are using Mandrake Linux 9.1 and two version of Postgresql Version-7.4.2 and Postgresql Version-7.3.2 is installed
> The Data directory is initialised with postgresql-7.4.2.
> Postgresql -7.3.2 is not used .Postgresql-7.4.2 is used for managing Postgres Server.
>
> We have tried to initialize a new data directory and then copy the contents of previous data directory (which is failed to start) into the new directory
> after that while starting postmaster from the new dir it gives the same message describe above
>
> so, we have tried this one and after that we are able to start the database but now we are unable to use the data
> the select queries returns 0 rows or giving error [ERROR: invalid attribute number 0 for <table-name>]
>
> also we are not able to dump the database the command pg_dump gives folowing error and then exit
>
> pg_dump: schema with OID 536944636 does not exist
>
> Please suggest any solution . Its very urgent.
> Thanks And Regards
> Chandrakant Chouhan
>
> ---------------------------------
> Sucker-punch spam with award-winning protection.
> Try the free Yahoo! Mail Beta.

--
Jim Nasby jim(at)nasby(dot)net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2007-01-21 18:10:18 Re: Can I copy data file and use it with other version of Postgresql
Previous Message Jim C. Nasby 2007-01-21 17:38:55 Re: Upgrading to 8.2, changes in user/group management scripts