ayaports/backports/postgresql15/postgresql15.pre-deinstall

35 lines
1.1 KiB
Bash

#!/bin/sh
pkgver=$1
pkgver_major=${pkgver%%.*}
default_ver=$(pg_versions get-default 2>/dev/null) || true
# If this package is not set as the default PostgreSQL version (see
# pg_versions), let it go.
[ "$default_ver" = "$pkgver_major" ] || exit 0
# If this package ('postgresql<majorver>') has been installed explicitly, i.e.
# not via 'postgresql' provider or as a dependency, the user is apparently
# uninstalling it intentionally, so let it go.
grep -Fqx "postgresql$pkgver_major" /etc/apk/world 2>/dev/null && exit 0
data_dir=$(
. /etc/conf.d/postgresql 2>/dev/null
echo "${data_dir:-"/var/lib/postgresql/$pkgver_major/data"}"
)
# If data_dir for this version does not exist or is empty, let it go.
[ -f "$data_dir"/PG_VERSION ] || exit 0
cat >&2 <<EOF
*
* You are uninstalling your default PostgreSQL version ($default_ver) which seems to be
* in use! If it's *not* intentional and you want to preserve this version,
* install it explicitly: \`apk add postgresql$default_ver\`.
*
* Please note that to upgrade your cluster to a new major version using
* pg_upgrade(1), you must have both the old and new versions installed.
*
EOF
exit 1