pgsql: support PGSQLUSER for real (Closes: #396578)
authorintrigeri <intrigeri@boum.org>
Wed, 1 Nov 2006 18:26:41 +0000 (18:26 +0000)
committerintrigeri <intrigeri@boum.org>
Wed, 1 Nov 2006 18:26:41 +0000 (18:26 +0000)
ChangeLog
examples/example.pgsql
handlers/pgsql
handlers/pgsql.helper
src/backupninja.in

index a513d5a361bb5b24d49ff03fb84e16db53a82c14..58414bad5947ebbf2d9e009bcbc983f91d3a108c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@ version 0.9.5 -- unreleased
        sys:
         . Fixed typo breaking things for VServers.
         . Fix bug when vrootdir is on its own partition (Closes: #395928)
+       pgsql:
+        . Support configuring PGSQLUSER for real, and document it a bit
+          (Closes: #396578)
     fixed automake 'make install' bug that failed if /etc/backup.d already
     existed
 
index d9aab420c1374cfb3a28221ef283af92d3743638..42f045e0953ad6a56417125a1d2e0dc08218ce78 100644 (file)
@@ -17,4 +17,7 @@
 # compress = < yes | no > (default = yes)
 # if yes, compress the pg_dump/pg_dumpall output. 
 
-
+### You can also set the following variables in /etc/backupninja.conf:
+# PGSQLDUMP: pg_dump path (default: /usr/bin/pg_dump)
+# PGSQLDUMPALL: pg_dumpall path (default: /usr/bin/pg_dumpall)
+# PGSQLUSER: user running PostgreSQL (default: postgres)
index 1b916247bc091233757cfcab98b4cc70adc1710c..fb8fa4fbd54b89301e59052963dabef7a5dd3702 100644 (file)
@@ -64,10 +64,10 @@ fi
 if [ $usevserver = yes ]; then
    pguid=`$VSERVER $vsname exec getent passwd $PGSQLUSER | awk -F: '{print $3}'`
 else
-   pguid=`getent passwd postgres | awk -F: '{print $3}'`
+   pguid=`getent passwd $PGSQLUSER | awk -F: '{print $3}'`
 fi
 [ -n "$pguid" ] || \
-    fatal "No user called postgres`[ $usevserver = no ] || echo \" on vserver $vsname\"`."
+    fatal "No user called $PGSQLUSER`[ $usevserver = no ] || echo \" on vserver $vsname\"`."
 debug "chown $pguid $vroot$backupdir"
 chown $pguid $vroot$backupdir
 debug "chmod 700 $vroot$backupdir"
@@ -77,15 +77,15 @@ chmod 700 $vroot$backupdir
 if [ "$databases" == "all" ]; then
     if [ $usevserver = yes ]; then
        if [ "$compress" == "yes" ]; then          
-          execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${vsname}.sql.gz\""
+          execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${vsname}.sql.gz\""
        else
-          execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\""
+          execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\""
        fi
     else
        if [ "$compress" == "yes" ]; then
-          execstr="su - postgres -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${localhost}-all.sql.gz\""
+          execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${localhost}-all.sql.gz\""
        else
-       execstr="su - postgres -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\""
+       execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\""
        fi
     fi
     debug "$execstr"
@@ -106,15 +106,15 @@ else
     for db in $databases; do
        if [ $usevserver = yes ]; then
            if [ "$compress" == "yes" ]; then
-              execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
+              execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
            else
-              execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db | > $backupdir/${db}.sql\""
+              execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | > $backupdir/${db}.sql\""
            fi
        else
            if [ "$compress" == "yes" ]; then
-              execstr="su - postgres -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
+              execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
            else
-              execstr="su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
+              execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
            fi
        fi
        debug "$execstr"
index 2b05339f9b0c0976e609933b36afeb3214b27cbe..80246167dcfc174b37bbc6088ddf7923a95a5250 100644 (file)
@@ -96,6 +96,11 @@ $pgsql_databases
 # if yes, compress the pg_dump/pg_dumpall output. 
 $pgsql_compress
 
+### You can also set the following variables in backupninja.conf:
+# PGSQLDUMP: pg_dump path (default: /usr/bin/pg_dump)
+# PGSQLDUMPALL: pg_dumpall path (default: /usr/bin/pg_dumpall)
+# PGSQLUSER: user running PostgreSQL (default: postgres)
+
 EOF
    chmod 600 $next_filename
 
index 920d89e66f3fdc244c95c30d2b07ba8d51278ce5..8d1257f75e69ece85166da88fbb027f93ae1bb14 100755 (executable)
@@ -450,6 +450,7 @@ getconf MYSQLHOTCOPY /usr/bin/mysqlhotcopy
 getconf MYSQLDUMP /usr/bin/mysqldump
 getconf PGSQLDUMP /usr/bin/pg_dump
 getconf PGSQLDUMPALL /usr/bin/pg_dumpall
+getconf PGSQLUSER postgres
 getconf GZIP /bin/gzip
 getconf RSYNC /usr/bin/rsync
 getconf admingroup root