projects/aports·blob master · refs

35 lines · 1.1 KiB

1#!/bin/sh
2
3pkgver=$1
4pkgver_major=${pkgver%%.*}
5default_ver=$(pg_versions get-default 2>/dev/null) || true
6
7# If this package is not set as the default PostgreSQL version (see
8# pg_versions), let it go.
9[ "$default_ver" = "$pkgver_major" ] || exit 0
10
11# If this package ('postgresql<majorver>') has been installed explicitly, i.e.
12# not via 'postgresql' provider or as a dependency, the user is apparently
13# uninstalling it intentionally, so let it go.
14grep -Fqx "postgresql$pkgver_major" /etc/apk/world 2>/dev/null && exit 0
15
16data_dir=$(
17 . /etc/conf.d/postgresql 2>/dev/null
18 echo "${data_dir:-"/var/lib/postgresql/$pkgver_major/data"}"
19)
20# If data_dir for this version does not exist or is empty, let it go.
21[ -f "$data_dir"/PG_VERSION ] || exit 0
22
23
24cat >&2 <<EOF
25*
26* You are uninstalling your default PostgreSQL version ($default_ver) which seems to be
27* in use! If it's *not* intentional and you want to preserve this version,
28* install it explicitly: \`apk add postgresql$default_ver\`.
29*
30* Please note that to upgrade your cluster to a new major version using
31* pg_upgrade(1), you must have both the old and new versions installed.
32*
33EOF
34
35exit 1