[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PostgreSQL upgrade will require Pre-Depends dependency



Having considered the various possibilities for upgrading postgresql from
6.2.1 to 6.3, which  involves an incompatibility between the shared libraries
and in the format of the database itself.  I have settled on the following
scheme.  Since it involves a predependency, I am submitting it to the
list for comment as required by policy.

I will create a new package postgresql-dumpall.  This will contain the
pg_dumpall script from the new release of PostgreSQL (6.3), together with
a script to use pg_dumpall to create a dump of the database and then to
delete the database.  This will allow various options to the user, from
fully automatic to proceding one step at a time.

The postinst of this package will look for an existing installation of
postgresql and of libpgsql and will copy the following binary files into
a directory of its own: postgres, postmaster, psql, libpq.so.1.0.0.
It will need to use these files in order to run a dump of the existing
database.

postgresql and libpgsql will pre-depend on postgresql-dumpall.  Because the
pre-dependency will require postgresql-dumpall to have completed its
postinst script successfully, this will preserve the old binaries (that
postgresql-dumpall will have copied) from being overwritten before it
has the chance to copy them.

The rc script for postgresql will check the current database version and
will refuse to start its postmaster if the version does not match the
current software.  Instead it will display a message that the database must
be dumped and recreated.

Comments, please?



-- 
Oliver Elphick                                Oliver.Elphick@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver

PGP key from public servers; key ID 32B8FAA1



--
E-mail the word "unsubscribe" to debian-devel-request@lists.debian.org
TO UNSUBSCRIBE FROM THIS MAILING LIST. Trouble? E-mail to listmaster@debian.org


Reply to: