aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_dump/pg_dumpall10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/bin/pg_dump/pg_dumpall b/src/bin/pg_dump/pg_dumpall
index 377b296e850..d280b1ccd92 100644
--- a/src/bin/pg_dump/pg_dumpall
+++ b/src/bin/pg_dump/pg_dumpall
@@ -51,9 +51,15 @@ psql -A -q -t -c "select * from pg_database" template1 | grep '|' | tr '|' ' ' |
grep -v '^template1 ' | \
while read DATABASE DBUSERID ENCODING DATAPATH
do
- echo "${BS}connect template1 $DBUSERID"
+ DBUSERNAME="`echo \" \
+ select usename \
+ from pg_user \
+ where usesysid = $DBUSERID; \" | \
+ psql -A -q -t template1`"
- if pg_encoding $ENCODING >/dev/null 2>&1
+ echo "${BS}connect template1 $DBUSERNAME"
+
+ if sh -c "pg_encoding $ENCODING" >/dev/null 2>&1
then
echo "create database $DATABASE with encoding='`pg_encoding $ENCODING`';"
else