diff options
author | Marc Rechté | 2021-12-27 15:59:48 +0100 |
---|---|---|
committer | Marc Rechté | 2021-12-27 15:59:48 +0100 |
commit | 6b6b89eb588052b5346657e198a6f1289f42d4b4 (patch) | |
tree | b67f146211bca7485168dcec88ef8f695bbbb571 /postgresql-check-db-dir | |
download | aur-6b6b89eb588052b5346657e198a6f1289f42d4b4.tar.gz |
Initial
Diffstat (limited to 'postgresql-check-db-dir')
-rwxr-xr-x | postgresql-check-db-dir | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/postgresql-check-db-dir b/postgresql-check-db-dir new file mode 100755 index 000000000000..af060aab1659 --- /dev/null +++ b/postgresql-check-db-dir @@ -0,0 +1,42 @@ +#!/bin/sh + +# This script verifies that the postgresql data directory has been correctly +# initialized. We do not want to automatically initdb it, because that has +# a risk of catastrophic failure (ie, overwriting a valuable database) in +# corner cases, such as a remotely mounted database on a volume that's a +# bit slow to mount. But we can at least emit a message advising newbies +# what to do. + +PGDATA="$1" + +if [ -z "$PGDATA" ] +then + echo "Usage: $0 database-path" + exit 1 +fi + +# PGMAJORVERSION is major version +PGMAJORVERSION=14 + +# Check for the PGDATA structure +if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ] +then + # Check version of existing PGDATA + if [ x`cat "$PGDATA/PG_VERSION"` = x"$PGMAJORVERSION" ] + then + : A-OK + else + echo $"An old version of the database format was found." + echo $"You need to dump and reload before using PostgreSQL $PGMAJORVERSION." + echo $"See http://www.postgresql.org/docs/$PGMAJORVERSION/static/upgrading.html" + exit 1 + fi +else + # No existing PGDATA! Warn the user to initdb it. + echo $"\"$PGDATA\" is missing or empty. Use a command like" + echo $" su - postgres -c \"initdb --locale en_US.UTF-8 -D '$PGDATA'\"" + echo $"with relevant options, to initialize the database cluster." + exit 1 +fi + +exit 0 |