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
|
## 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
if [ -r /etc/postgresql/postgresql.env ]
then
# Read the environment and save the files
. /etc/postgresql/postgresql.env
filelist="/usr/lib/libpq.so.2.0 /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
done
if [ -f postgres -a ! -f postmaster ]
then
ln postgres postmaster
fi
# make shared-library softlink
for f in `ls libpq.so.[12].[0-9]`
do
target=`echo $f | cut -f1-3 -d.`
if [ ! -f $target ]
then
ln -s $f $target
fi
done
) || echo Could not save old binaries
else
echo /etc/postgresql/postgresql.env already deleted\; I assume that the
echo old binaries have already been saved.
fi
}
## end of included file prerm.inc ##
|