From 7bc6b1e356a0c157e575167c6fa57f647f52d601 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Fri, 4 Jul 2014 10:29:36 +0200 Subject: service: avoid cryptic failure with old config If user removes currently provided /etc/postgresql/postgresql configuration file, PGDATA env variable is not set. The `systemctl start postgresql` would fail similarly to `systemctl start postgresql@NOTCONFIGURED` when the configuration file was not created yet with cryptic message "Usage: ... " Stop this behavior rather explicitly with proper error in check-db-dir script. Warn also user in similar fashion that the configuration should be adjusted in case the PGDATA was set directly in service file. --- postgresql-check-db-dir.in | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'postgresql-check-db-dir.in') diff --git a/postgresql-check-db-dir.in b/postgresql-check-db-dir.in index 3514247..2dd0649 100644 --- a/postgresql-check-db-dir.in +++ b/postgresql-check-db-dir.in @@ -7,14 +7,32 @@ # bit slow to mount. But we can at least emit a message advising newbies # what to do. -PGDATA="$1" +if test -z "$1"; then + echo "Maintainer error: $0 must be run with one argument" + exit 1 +fi + +service_name="$1" + +if [ -z "$PGDATA" ]; then + echo $"You try to start '$service_name' service" + echo $"but the required \$PGDATA environment variable is not set." + echo $"You should use the @PKGCONFIG_DIR@/$service_name" + echo $"configuration file to set \$PGDATA. For more info see" + echo $"the @README_DIST@ file." -if [ -z "$PGDATA" ] -then - echo "Usage: $0 database-path" exit 1 fi +# Warn the user that the configuration should be adjusted. +conf_file="@PKGCONFIG_DIR@/$service_name" +if test ! -r "$conf_file"; then + echo >&2 $"WARNING: Note that file '$conf_file'" + echo >&2 $"does not exist. Your configuration will be supported for some" + echo >&2 $"time but you are encouraged to create this file according to" + echo >&2 $"@README_DIST@ documentation." +fi + # Full PostgreSQL version, e.g. 9.0.2 PGVERSION=@PGVERSION@ -- cgit