Re: Cluster recovery - FATAL: database files are incompatible with server. Different PG_CONTROL_VERSION for cluster and server. - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Cluster recovery - FATAL: database files are incompatible with server. Different PG_CONTROL_VERSION for cluster and server.
Date
Msg-id 535069F7.1050907@aklaver.com
Whole thread Raw
In response to Cluster recovery - FATAL: database files are incompatible with server. Different PG_CONTROL_VERSION for cluster and server.  (Guillaume Drolet <droletguillaume@gmail.com>)
List pgsql-general
On 04/17/2014 01:29 PM, Guillaume Drolet wrote:
> Dear list users,
>
> For some tests, I installed a new cluster with different parameters
> than the ones I had used a while ago to create the cluster I use for
> my day-to-day activities (let's call it my main cluster). I used
> initdb --no-locale -E UTF8 -D <new_data_dir>. Then I used pg_ctl -D
> <new_data_dir> to start my new cluster. So far so good.
>
> Then, I realized that I wanted to add a database superuser with the
> option -U to initdb so I decided to delete the newly created cluster.

You do not use initdb to add superusers, that can be done with
createuser from the command line or CREATE ROLE via SQL. The -U option
just establishes the first superuser and is not even necessary as it
defaults to the system user running initdb.

> Instead, I mistakenly deleted the data directory of my main cluster
> (doh!), using Shift-Delete. I recovered the deleted data directory
> using Panda Recovery Tool and copied it back into its location (the
> location pointed to by $PGDATA).

Are you sure you recovered the entire directory?

>
> Now for the real problems: if I go in pgAdmin and try to connect to my
> cluster, I get the "server not listening" message. I also tried going
> to the Services and restarting postgresql but it says it is already
> stopped and if I try to start it, I get a message that it has started
> but then stopped because it was unused.
>
> If I try pg_ctl start, I get this message (my translation from
> French):  FATAL: database files are incompatible with server. DETAIL:
> Database cluster was initialized with a PG_CONTROL_VERSION ? 16795209
> while the server was compiled with a PG_CONTROL_VERSION ? 937. HINT:
> Looks like you need initdb.

Well 937 is the version for 9.3. The version number increases with time,
but I am pretty sure Postgres is no where near 16795209, so this does
not look promising :( At a guess either the delete happened while the
cluster was running and a file or files where corrupted or the data
recovery was not entirely successful.

>
> I really don't know what to do and would appreciate any help, if
> anything can be done to recover my databases. My PG version is 9.3.3
> on a Windows 7 64-bit OS.

Do you have a backup of your main cluster?

>
> Best regards and many thanks for your advice,
>
> Guillaume
>
>


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: Arduino SQL Connector
Next
From: Adrian Klaver
Date:
Subject: Re: Arduino SQL Connector