1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
## start of included file prerm.inc ##
save_bins() {
# Look for postgresql binaries, needed to dump the current database, and
# copy them into a safe location, so that they will be preserved when
# postgresql is replaced by a new release.
# This procedure is run by the prerm of libpgsql2, postgresql and
# postgresql-client, to ensure that the necessary binaries are saved
# as soon as possible
## UPDATED PACKAGE: if this is a new upstream version check the ##
## shared library version ##
if [ -r /etc/postgresql/postmaster.conf -a -r /etc/postgresql/postgresql.env ]
then
. /etc/postgresql/postgresql.env
if [ -d ${PGDATA:=/var/lib/postgres/data}/base ]
then
filelist="/usr/lib/libpq.so.2.1 /usr/lib/postgresql/bin/postgres /usr/lib/postgresql/bin/pg_dump /usr/lib/postgresql/bin/pg_dumpall /usr/lib/postgresql/bin/psql"
PG_VERSION=`cat $PGDATA/PG_VERSION`
# Create the directory to hold the saved binaries
if [ ! -d /usr/lib/postgresql/dumpall/$PG_VERSION ]
then
install -d /usr/lib/postgresql/dumpall/$PG_VERSION
fi
( cd /usr/lib/postgresql/dumpall/$PG_VERSION &&
for f in $filelist
do
if [ -f $f -a ! -f `basename $f` -a ! -L $f ]
then
cp $f .
fi
if [ $f = libpq.so.2.1 ]
then
# make shared-library softlink
target=libpq.so.2
if [ ! -f $target ]
then
ln -s $f $target
fi
fi
done
if [ -f postgres -a ! -f postmaster ]
then
ln postgres postmaster
fi
) || echo Could not save old binaries
else
echo "postgresql package apparently not installed - no old binaries saved"
fi
else
echo /etc/postgresql/postmaster.conf already deleted\; I assume that the
echo old binaries have already been saved.
fi
}
## end of included file prerm.inc ##
|