Problem with initdb and two versions on one server?

From: Chris McCormick <mccormick1(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Problem with initdb and two versions on one server?
Date: 2012-02-28 13:46:50
Message-ID: CAGvt1sFg+sdhEnObsnT0mzKj0WimWaGZ9Dvpvb9Q0t+g7Rv3Fg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Marti Raudsepp 2012-02-28 14:15:30 Re: How to get a signal from the database when a INSERT INTO is done?
Previous Message Clodoaldo Neto 2012-02-28 13:33:49 Error installing postgresq91-python package