postrm is in postgresql-10 10.6-0ubuntu0.18.04.1.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
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 60 61 62 63 64 65 | #!/bin/sh
set -e
VERSION=${DPKG_MAINTSCRIPT_PACKAGE##*-}
clean_dir() {
if [ -d "$1" ] && [ ! -L "$1" ]; then
rmdir "$1" >/dev/null 2>/dev/null || true
fi
}
drop_cluster() {
# if we still have the postgresql-common package, use it to also shutdown
# server, etc.; otherwise just remove the directories
if [ -x /usr/bin/pg_dropcluster ]; then
pg_dropcluster --stop-server $VERSION "$1"
else
# remove data directory
PGDATALINK="/etc/postgresql/$VERSION/$1/pgdata"
if [ -e "$PGDATALINK" ]; then
rm -rf $(readlink -f "$PGDATALINK") "$PGDATALINK"
else
rm -rf "/var/lib/postgresql/$VERSION/$1/"
fi
# remove log file, including rotated ones
LOGLINK="/etc/postgresql/$VERSION/$1/log"
if [ -e "$LOGLINK" ]; then
LOG=$(readlink -f "$LOGLINK")
rm -f $LOG* "$LOGLINK"
else
rm -f /var/log/postgresql/postgresql-$VERSION-"$1".log*
fi
# remove conffiles
for f in pg_hba.conf pg_ident.conf postgresql.conf start.conf environment pg_ctl.conf; do
rm -f /etc/postgresql/$VERSION/"$1"/$f
done
# remove empty conf.d directories
for d in /etc/postgresql/$VERSION/"$1"/*/; do
clean_dir "$d"
done
clean_dir /etc/postgresql/$VERSION/"$1"
fi
}
if [ "$1" = purge ]; then
[ -d "/etc/postgresql/$VERSION" ] || exit 0
if [ "$(ls /etc/postgresql/$VERSION)" ]; then
for c in /etc/postgresql/$VERSION/*; do
[ -e "$c/postgresql.conf" ] || continue
cluster=$(basename "$c")
echo "Dropping cluster $cluster..."
drop_cluster "$cluster"
done
fi
clean_dir /etc/postgresql/$VERSION
clean_dir /var/lib/postgresql/$VERSION
clean_dir /var/log/postgresql/$VERSION
fi
|