Re: Idea: cross-check versions during initdb - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Idea: cross-check versions during initdb
Date
Msg-id 5494.972686406@sss.pgh.pa.us
Whole thread Raw
In response to Idea: cross-check versions during initdb  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Idea: cross-check versions during initdb  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
>> But it's still dependent on the user's PATH to point to the right
>> executables, no?

> This is what's puzzling me.  There's code in there that tries to locate
> initdb and uses the executables and bki files (7.0 only) from the same
> tree.

Yeah, but how long has that code been in there?  Wouldn't be at all
surprised if the complaints are coming from people who are managing
to invoke a 6.5 initdb script against 7.0 postgres executable and/or
library files.

Of course, people who manage to invoke a 6.5 or 7.0 initdb script aren't
going to be helped anyway by defenses we put into 7.1 initdb :-(.

Perhaps there need to be additional crosschecks performed by the
postgres executable to ensure that (a) it's being called by a compatible
initdb and (b) it's being fed compatible bki files.

Point b could be addressed if we put version IDs into the bki files and
have BootstrapMain check for them.  As for point a, maybe we could extend
the bootstrap switch set so that it includes a version number passed by
the initdb script; then BootstrapMain refuses to play unless the correct
version number is supplied.  This would work if old postgres executables
reject the version# info as an invalid switch ...
        regards, tom lane


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Idea: cross-check versions during initdb
Next
From: "Kevin O'Gorman"
Date:
Subject: Gram.y patches for better parenthesis handling.