summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2015-11-30 12:31:40 +0100
committerPavel Raiskup <praiskup@redhat.com>2015-11-30 12:31:40 +0100
commit47fe731d3ed9b4a0fd60ffc4e79c294251763b1a (patch)
treea06f79946a92411d3d859ad8e8bc8eaf7f15bdd5
parente5b59c49900d1ffc81ad0daff63aebecfdb55a41 (diff)
downloadpostgresql-setup-47fe731d3ed9b4a0fd60ffc4e79c294251763b1a.tar.gz
postgresql-setup-47fe731d3ed9b4a0fd60ffc4e79c294251763b1a.tar.xz
postgresql-setup-47fe731d3ed9b4a0fd60ffc4e79c294251763b1a.zip
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.
-rw-r--r--THANKS1
-rw-r--r--postgresql-setup.in7
2 files changed, 8 insertions, 0 deletions
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")'"