Re: Problem with initdb and two versions on one server?

From: Rainer Pruy <Rainer(dot)Pruy(at)Acrys(dot)COM>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Problem with initdb and two versions on one server?
Date: 2012-02-28 15:33:44
Message-ID: 4F4CF3D8.3060906@acrys.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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.
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Daniele Varrazzo 2012-02-28 15:41:56 Re: How to get a signal from the database when a INSERT INTO is done?
Previous Message Adrian Klaver 2012-02-28 15:32:47 Re: synchronous replication: blocking commit on the master