roll back to 8.1 for PyQt driver work-around

Started by Scott Frankelalmost 18 years ago8 messagesgeneral
Jump to latest
#1Scott Frankel
frankel@circlesfx.com

Hello, I just signed on the list.

Any suggestions for how best to launch one of two different versions
of pg installed on the same machine?

I have both 8.3 and 8.1 installed on a MacBookPro (OS X 10.5.2). I
stopped the 8.3 postmaster using pg_ctl in order to roll back to 8.1.
Problem is, now I can't seem to start the server using either version.

When I launch 8.1 with pg_ctl, it yields a "postmaster starting"
message; but then a status check shows that the server is not
running. Issuing the same commands for 8.3, I get similar results.

eg:

[tiento:~] postgres% /opt/local/lib/postgresql81/bin/pg_ctl start -D /
Library/PostgreSQL8/data -l /Users/Shared/pgLog/pgLog.txt
postmaster starting

[tiento:~] postgres% /opt/local/lib/postgresql81/bin/pg_ctl status -D /
Library/PostgreSQL8/data
pg_ctl: neither postmaster nor postgres running

I'm trying to roll back to version 8.1 as I've run into a bug in Qt's
QPSQL driver. I'm able to create tables and add rows of data to them;
but my model.select() statements all fail. The "This version of
PostgreSQL is not supported and may not work" message is ominous ;)

Thanks in advance!
Scott

Scott Frankel
President/VFX Supervisor
Circle-S Studios
510-339-7477 (o)
510-332-2990 (c)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Scott Frankel (#1)
Re: roll back to 8.1 for PyQt driver work-around

Scott Frankel <frankel@circlesfx.com> writes:

Any suggestions for how best to launch one of two different versions
of pg installed on the same machine?

I have both 8.3 and 8.1 installed on a MacBookPro (OS X 10.5.2). I
stopped the 8.3 postmaster using pg_ctl in order to roll back to 8.1.
Problem is, now I can't seem to start the server using either version.

It looks like you're trying to use the same data directory for both
versions, which won't work. They're not compatible on-disk.

When I launch 8.1 with pg_ctl, it yields a "postmaster starting"
message; but then a status check shows that the server is not
running. Issuing the same commands for 8.3, I get similar results.

Looking into the postmaster log file (your -l specification) might
yield some insight. pg_ctl itself doesn't really know why the
postmaster failed to start.

regards, tom lane

#3Scott Frankel
frankel@circlesfx.com
In reply to: Tom Lane (#2)
Re: roll back to 8.1 for PyQt driver work-around

Thanks for the tips. I've created separate log files for the two
versions of pg, but postmaster still won't start.

When I try to start 8.3, the log file lists a fatal error in the
postgresql.conf file. But there are no obvious errors in that file.
Line 107 reads: "shared_buffers = 1600kB".

I've also tried grep'ing for port 5432, but it all looks clear. eg:

tiento:~ root# lsof -Pni | grep :5432 --> yields nothing

tiento[yfilm]% ps uxwa | grep postgres
postgres 46547 0.0 0.1 604328 1204 s006 S+ 11:09PM 0:00.10 -tcsh
root 46546 0.0 0.1 75536 1064 s006 S 11:09PM 0:00.02 su - postgres
frankel 46720 0.0 0.0 599780 392 s003 R+ 8:58AM 0:00.00 grep postgres

Here's the full text from the log file:

FATAL: syntax error in file "/Library/PostgreSQL8/data/
postgresql.conf" line 107, near token "kB"
FATAL: syntax error in file "/Library/PostgreSQL8/data/
postgresql.conf" line 107, near token "kB"
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not,
wait a few seconds and retry.
FATAL: incorrect checksum in control file
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not,
wait a few seconds and retry.
FATAL: incorrect checksum in control file
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not,
wait a few seconds and retry.
FATAL: incorrect checksum in control file
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not,
wait a few seconds and retry.

Thanks again!
Scott

On Jul 5, 2008, at 10:43 PM, Tom Lane wrote:

Scott Frankel <frankel@circlesfx.com> writes:

Any suggestions for how best to launch one of two different versions
of pg installed on the same machine?

I have both 8.3 and 8.1 installed on a MacBookPro (OS X 10.5.2). I
stopped the 8.3 postmaster using pg_ctl in order to roll back to 8.1.
Problem is, now I can't seem to start the server using either
version.

It looks like you're trying to use the same data directory for both
versions, which won't work. They're not compatible on-disk.

When I launch 8.1 with pg_ctl, it yields a "postmaster starting"
message; but then a status check shows that the server is not
running. Issuing the same commands for 8.3, I get similar results.

Looking into the postmaster log file (your -l specification) might
yield some insight. pg_ctl itself doesn't really know why the
postmaster failed to start.

regards, tom lane

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Scott Frankel
President/VFX Supervisor
Circle-S Studios
510-339-7477 (o)
510-332-2990 (c)

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Scott Frankel (#3)
Re: roll back to 8.1 for PyQt driver work-around

Scott Frankel <frankel@circlesfx.com> writes:

When I try to start 8.3, the log file lists a fatal error in the
postgresql.conf file. But there are no obvious errors in that file.
Line 107 reads: "shared_buffers = 1600kB".

You need quotes, like
shared_buffers = '1600kB'

FATAL: incorrect checksum in control file

This looks like a version compatibility problem, though I'm surprised
it wasn't complained of earlier.

regards, tom lane

#5Scott Frankel
frankel@circlesfx.com
In reply to: Tom Lane (#4)
Re: roll back to 8.1 for PyQt driver work-around

Sorry to drag this on further. Though I'm now able to start pg8.3
again (thanks!), I still can't launch pg8.1. Rolling back to 8.1 is
my goal in order to work around a driver issue in Qt.

Is there an example postgresql.conf file for pg 8.1 I can review?
Mine appears to be valid only for pg8.3.

Adding quotes to the shared_buffers value allows pg8.3 to start
successfully. Unfortunately, pg8.1 continues to have issues with it.
eg:

FATAL: syntax error in file "/Library/PostgreSQL8/data/
postgresql.conf" line 107, near token "kB"
FATAL: parameter "shared_buffers" requires an integer value
FATAL: unrecognized configuration parameter
"default_text_search_config"

Thanks again!
Scott

On Jul 6, 2008, at 10:48 AM, Tom Lane wrote:

Scott Frankel <frankel@circlesfx.com> writes:

When I try to start 8.3, the log file lists a fatal error in the
postgresql.conf file. But there are no obvious errors in that file.
Line 107 reads: "shared_buffers = 1600kB".

You need quotes, like
shared_buffers = '1600kB'

FATAL: incorrect checksum in control file

This looks like a version compatibility problem, though I'm surprised
it wasn't complained of earlier.

regards, tom lane

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Scott Frankel
President/VFX Supervisor
Circle-S Studios
510-339-7477 (o)
510-332-2990 (c)

#6Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Scott Frankel (#5)
Re: roll back to 8.1 for PyQt driver work-around

Scott Frankel wrote:

Is there an example postgresql.conf file for pg 8.1 I can review? Mine
appears to be valid only for pg8.3.

Sure, it comes with the distribution as postgresql.conf.sample and is
installed by initdb.

Adding quotes to the shared_buffers value allows pg8.3 to start
successfully. Unfortunately, pg8.1 continues to have issues with it.
eg:

FATAL: syntax error in file "/Library/PostgreSQL8/data/postgresql.conf"
line 107, near token "kB"

Naming the directory as PostgreSQL8 is not a very good idea -- perhaps
using "PostgreSQL81" to distinguish it from PostgreSQL83 would be
better. This is only cosmetic but it gets the point across that the two
are not compatible on-disk, as Tom already said. (In general you cannot
share the config file either.)

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

#7Lennin Caro
lennin.caro@yahoo.com
In reply to: Scott Frankel (#1)
Re: roll back to 8.1 for PyQt driver work-around

sound like you have a postmaster.pid in your PGDATA directory. Rename file postmaster.pid and launch the postgresql again

--- On Sat, 7/5/08, Scott Frankel <frankel@circlesfx.com> wrote:
Show quoted text

From: Scott Frankel <frankel@circlesfx.com>
Subject: [GENERAL] roll back to 8.1 for PyQt driver work-around
To: "PostgreSQL List" <pgsql-general@postgresql.org>
Date: Saturday, July 5, 2008, 11:40 PM
Hello, I just signed on the list.

Any suggestions for how best to launch one of two different
versions
of pg installed on the same machine?

I have both 8.3 and 8.1 installed on a MacBookPro (OS X
10.5.2). I
stopped the 8.3 postmaster using pg_ctl in order to roll
back to 8.1.
Problem is, now I can't seem to start the server using
either version.

When I launch 8.1 with pg_ctl, it yields a "postmaster
starting"
message; but then a status check shows that the server is
not
running. Issuing the same commands for 8.3, I get similar
results.

eg:

[tiento:~] postgres% /opt/local/lib/postgresql81/bin/pg_ctl
start -D /
Library/PostgreSQL8/data -l /Users/Shared/pgLog/pgLog.txt
postmaster starting

[tiento:~] postgres% /opt/local/lib/postgresql81/bin/pg_ctl
status -D /
Library/PostgreSQL8/data
pg_ctl: neither postmaster nor postgres running

I'm trying to roll back to version 8.1 as I've run
into a bug in Qt's
QPSQL driver. I'm able to create tables and add rows
of data to them;
but my model.select() statements all fail. The "This
version of
PostgreSQL is not supported and may not work" message
is ominous ;)

Thanks in advance!
Scott

Scott Frankel
President/VFX Supervisor
Circle-S Studios
510-339-7477 (o)
510-332-2990 (c)

--
Sent via pgsql-general mailing list
(pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#8Guillaume Lelarge
guillaume@lelarge.info
In reply to: Scott Frankel (#3)
Re: roll back to 8.1 for PyQt driver work-around

Scott Frankel a �crit :

[...]
Here's the full text from the log file:

FATAL: syntax error in file "/Library/PostgreSQL8/data/postgresql.conf"
line 107, near token "kB"

You can't use units in a pre-8.2 config file.

FATAL: syntax error in file "/Library/PostgreSQL8/data/postgresql.conf"
line 107, near token "kB"
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait
a few seconds and retry.

Apparently the 8.3 server is already running on port 5432... which seems
plausible because I think you launch 8.1 on the 8.3 data directory.

FATAL: incorrect checksum in control file
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait
a few seconds and retry.
FATAL: incorrect checksum in control file

It means you try to execute an 8.1 server on a data directory
initialized by an 8.2 or 8.3 initdb.

LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait
a few seconds and retry.
FATAL: incorrect checksum in control file
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait
a few seconds and retry.

You can use two different release on the same server. But you need
different port number and different data directory.

Regards.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com