| 1 | #!/bin/sh |
| 2 | |
| 3 | pkgver=$1 |
| 4 | pkgver_major=${pkgver%%.*} |
| 5 | default_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. |
| 14 | grep -Fqx "postgresql$pkgver_major" /etc/apk/world 2>/dev/null && exit 0 |
| 15 | |
| 16 | data_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 | |
| 24 | cat >&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 | * |
| 33 | EOF |
| 34 | |
| 35 | exit 1 |