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

From Tom Lane
Subject Idea: cross-check versions during initdb
Date
Msg-id 5819.972574931@sss.pgh.pa.us
Whole thread Raw
Responses Re: Idea: cross-check versions during initdb
Re: Idea: cross-check versions during initdb
List pgsql-hackers
While answering the n'th why-is-initdb-failing question that looked like
a version mismatch problem, it occurred to me to wonder why we don't
make initdb verify that the executable and library files it's using
are all from the same release it is.  I think this would eliminate an
installation mistake that's practically reached FAQ status.

A sketch of a way to do this is:

1. Add a --version switch to postgres or postmaster to print its version
and exit.  Then initdb could check the executable's version against its
own.  (Alternatively we could rely on pg_config, but at a minimum that
would mean checking to make sure that pg_config is found in the same
directory that postgres is in.  A direct check on the key executable
seems a lot safer.)

2. During "make install", generate a PGVERSION file and store it in the
same directory that global.bki etc are stored in (the .../share install
directory).  initdb could look for this to ensure that PGLIB is pointing
to a compatible library directory.  Alternatively, add version info as
a comment in the first line of global.bki.

I don't have time to pursue this right now, but maybe someone else would
like to pick up on it.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Re: libpq needs -lsocket on UnixWare
Next
From: Peter Eisentraut
Date:
Subject: Re: Re: Add support for