Thread: CVS, initdb and catalog version

CVS, initdb and catalog version

From
"Laurent Duperval"
Date:
Hi,

I updated my source code from CVS and it looks like it creates a problem
because now, the server won't come up because of this error:

Starting postgresql service: + su -l postgres -c '/usr/local/bin/pg_ctl  -D /usr/local/var/lib/pgsql/data -o -i -p
/usr/local/bin/postmasterstart' 
postmaster successfully started
FATAL 2:  database was initialized with CATALOG_VERSION_NO 200105101,
    but the backend was compiled with CATALOG_VERSION_NO 200105145.
    looks like you need to initdb.

and then:

initdb: The directory /usr/local/var/lib/pgsql/data exists but is not empty.
If you want to create a new database system, either remove or empty
the directory /usr/local/var/lib/pgsql/data or run initdb with
an argument other than /usr/local/var/lib/pgsql/data.

So does that mean that every time I update the CVS code I have to trash
my existing data? Not that it's really a problem yet, mind you. When I
have real data that I need to keep, I'll move to 7.1.1.

L

--
Laurent Duperval <mailto:lduperval@microcelli5.com>

La situation se cornélise à vue d'oeil!
                                             -Alambic Talon

RE: CVS, initdb and catalog version

From
"Ryan C. Bonham"
Date:
I think you just need to do a dump of the database, and then import it back
in after you update your source...  I could be wrong, i havn't had my coffee
yet...

-----Original Message-----
From: Laurent Duperval [mailto:lduperval@microcelli5.com]
Sent: Tuesday, May 15, 2001 9:40 AM
To: pgsql-general@postgresql.org
Subject: [GENERAL] CVS, initdb and catalog version


Hi,

I updated my source code from CVS and it looks like it creates a problem
because now, the server won't come up because of this error:

Starting postgresql service: + su -l postgres -c '/usr/local/bin/pg_ctl  -D
/usr/local/var/lib/pgsql/data -o -i -p /usr/local/bin/postmaster start'
postmaster successfully started
FATAL 2:  database was initialized with CATALOG_VERSION_NO 200105101,
    but the backend was compiled with CATALOG_VERSION_NO 200105145.
    looks like you need to initdb.

and then:

initdb: The directory /usr/local/var/lib/pgsql/data exists but is not empty.
If you want to create a new database system, either remove or empty
the directory /usr/local/var/lib/pgsql/data or run initdb with
an argument other than /usr/local/var/lib/pgsql/data.

So does that mean that every time I update the CVS code I have to trash
my existing data? Not that it's really a problem yet, mind you. When I
have real data that I need to keep, I'll move to 7.1.1.

L

--
Laurent Duperval <mailto:lduperval@microcelli5.com>

La situation se cornélise à vue d'oeil!
                                             -Alambic Talon

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

Re: CVS, initdb and catalog version

From
Tom Lane
Date:
"Laurent Duperval" <lduperval@microcelli5.com> writes:
> So does that mean that every time I update the CVS code I have to trash
> my existing data?

Anytime someone changes the system catalogs (which is frequently), yes.
Don't try to track CVS tip in a production installation, unless you
enjoy frequent dump/reload cycles.

            regards, tom lane

Re: CVS, initdb and catalog version

From
Stephan Szabo
Date:
On Tue, 15 May 2001, Laurent Duperval wrote:

> Hi,
>
> I updated my source code from CVS and it looks like it creates a problem
> because now, the server won't come up because of this error:
>
> Starting postgresql service: + su -l postgres -c
> '/usr/local/bin/pg_ctl -D /usr/local/var/lib/pgsql/data -o -i -p
> /usr/local/bin/postmaster start'
> postmaster successfully started
> FATAL 2:  database was initialized with CATALOG_VERSION_NO 200105101,
>     but the backend was compiled with CATALOG_VERSION_NO 200105145.
>     looks like you need to initdb.

There've been changes on the head which changed parts of the catalogs.
Not all changes require this, but if you grab the current development
stuff (what will become 7.2), this is fairly likely to happen to you.
You may just want to use -r REL7_1_STABLE and get the current 7.1.x
sources.