From 47fe731d3ed9b4a0fd60ffc4e79c294251763b1a Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 30 Nov 2015 12:31:40 +0100 Subject: postgresql-setup: postgres's $HOME must be writeable The pg_upgrade fails with confusing error message if there are wrong /var/lib/pgsql permissions. It's not very obvious what is the pg_upgrade's work-dir (we use 'runuser' -l) -- for this reason exit rather early with understandable error message. * postgresql-setup.in: Exit if postgres user is not able to write into $POSTGRES_HOMEDIR. --- THANKS | 1 + postgresql-setup.in | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/THANKS b/THANKS index ffe876e..5048ee2 100644 --- a/THANKS +++ b/THANKS @@ -1,2 +1,3 @@ Dietmar Kling +Miroslav Suchý Pavel Kajaba diff --git a/postgresql-setup.in b/postgresql-setup.in index b4e9390..90c222d 100644 --- a/postgresql-setup.in +++ b/postgresql-setup.in @@ -793,6 +793,13 @@ debug "final pgport: $pgport" script_result=0 +$SU_POSTGRES -c 'test -w @POSTGRES_HOMEDIR@' || { + # pg_upgrade binary needs to have write-able $PWD (and we use 'su -') + error $"The @POSTGRES_HOMEDIR@ directory has wrong permissions." + error_q $"Please make sure the directory is writable by postgres." + exit 1 +} + if @MOUNTPOINT@ -q "$pgdata" || @MOUNTPOINT@ -q "$(dirname "$pgdata")"; then warn $"Note that either your data directory '$pgdata' or" warn_q $"the parent directory '$(dirname "$pgdata")'" -- cgit