diff options
Diffstat (limited to 'system/postgresql/postgresql.pre-upgrade')
-rw-r--r-- | system/postgresql/postgresql.pre-upgrade | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/system/postgresql/postgresql.pre-upgrade b/system/postgresql/postgresql.pre-upgrade new file mode 100644 index 000000000..6116252c1 --- /dev/null +++ b/system/postgresql/postgresql.pre-upgrade @@ -0,0 +1,32 @@ +#!/bin/sh + +new="$1" +old="$2" + +pgver=${new%.*} +compare=$(apk version -t "$old" $pgver) + +# check if we upgrade from earlier than $pgver and if it is running +if [ "$compare" != "<" ] || ! /etc/init.d/postgresql --quiet status; then + exit 0 +fi + +if [ -f /etc/conf.d/postgresql ]; then + . /etc/conf.d/postgresql +fi + +cat <<EOF +* You are upgrading to postgres $pgver wich is not compatible with the running +* See: http://www.postgresql.org/docs/$pgver/static/upgrading.html +* +* The corresponding steps for Alpine Linux is: +* +* pg_dumpall -U ${PGUSER:-postgres} > dumpfile +* /etc/init.d/postgresql stop +* apk add -u postgresql +* /etc/init.d/postgresql setup +* /etc/init.d/postgresql start +* psql -U ${PGUSER:-postgres} -f dumpfile +* +EOF +exit 1 |