Re: Problem with initdb and two versions on one server? - Mailing list pgsql-general

From Rainer Pruy
Subject Re: Problem with initdb and two versions on one server?
Date
Msg-id 4F4CF3D8.3060906@acrys.com
Whole thread Raw
In response to Problem with initdb and two versions on one server?  (Chris McCormick <mccormick1@gmail.com>)
List pgsql-general
Hello Chris,

can not provide much help.

But definitely the message sounds like case (1) (8.3 server accessing
7.4 files)

I did encounter such with two occasions:

a) used an old initdb version
b) using an rc script that had hard coded path to the (old) data directory

both cases seem not to apply in your case.

BTW: you may check  PG:VERSION file(s) in data directories to
verify what version those directory are claiming to be.

Rainer

On 28.02.2012 14:46, Chris McCormick wrote:
> Hello all,
>     Because of issues with dump/restore, I am instead setting up a
> second cluster under a newer version so I can slowly migrate data (I
> have 7.4.30, and am adding 8.3.18 on the same box). The problem is
> that when I try to start the new postmaster it complains:
>
> "FATAL:  database files are incompatible with server"
> "DETAIL: The data directory was initialised by PostgreSQL version 7.4,
> which is not compatible with this version 8.3.18."
>
> I compiled 8.3.18 from source, with the following flags in the configure:
> 1. --prefix=/backup/pgsql8
> 2. I did NOT use --disable-rpath (i.e., I wanted shared library paths
> baked into the executable so it would look first into
> /backup/pgsql8/lib first, assuming that the library differences would
> be too great between 7.4 and 8.3)
> 3. --with-pgport=3005 (the existing one is on the standard port)
>
> I configured, compiled, and installed, and saw the various subfolders
> appear under /backup/pgsql8 as expected.
>
> I created the data directory and chown'd it to my superuser.
>
> I ran initdb like so:
> /backup/pgsql8/bin/initdb –E UTF8 --locale=en_US -D /backup/pgsql8/data
>
> I assumed by using the full path to the new initdb that the data
> directory would be initialised in 8.3.18 style. It ran without errors.
>
> When I run pg_ctl, I use the full path:
> /backup/pgsql8/bin/pg_ctl -D /backup/pgsql8/data -o “-p 3005” start
>
> But I still get the error.
>
> I am confused. I feel that I have pointed to 8.3 everywhere, yet
> somehow the existing 7.4 is involved. I am not sure if the message is
> saying:
> 1. "Your postmaster is 8.3, but you're pointed at the old data
> directory" (despite my -D flag)
> or
> 2. "Your data directory is 8.3, but your postmaster is the old 7.4"
> (despite my fully-qualified call to pg_ctl)
>
> Thoughts?
>
> Thanks for helping a newbie,
> Chris
>
> PS: Yeah, I know /backup ain't the place to put my database. But the
> partitions weren't set up right at the beginning, so this is my hack
> for now since I ran out of space.
>

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: synchronous replication: blocking commit on the master
Next
From: Daniele Varrazzo
Date:
Subject: Re: How to get a signal from the database when a INSERT INTO is done?