summaryrefslogtreecommitdiff
path: root/src/bin/pg_dump/pg_dumpall
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pg_dump/pg_dumpall')
-rw-r--r--src/bin/pg_dump/pg_dumpall11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/bin/pg_dump/pg_dumpall b/src/bin/pg_dump/pg_dumpall
index 48e313afec..78344324cf 100644
--- a/src/bin/pg_dump/pg_dumpall
+++ b/src/bin/pg_dump/pg_dumpall
@@ -48,7 +48,7 @@ drop table tmp_pg_shadow;
END
echo "${BS}."
psql -l -A -q -t| tr '|' ' ' | grep -v '^template1 ' | \
-while read DATABASE DBUSERID DATAPATH
+while read DATABASE DBUSERID ENCODING DATAPATH
do
POSTGRES_USER="`echo \" \
select usename \
@@ -56,7 +56,14 @@ do
where usesysid = $DBUSERID; \" | \
psql -A -q -t template1`"
echo "${BS}connect template1 $POSTGRES_USER"
- echo "create database $DATABASE;"
+
+ if createdb -help|grep encoding >/dev/null
+ then
+ echo "create database with encoding='`pg_encoding $ENCODING`' $DATABASE;"
+ else
+ echo "create database $DATABASE;"
+ fi
+
echo "${BS}connect $DATABASE $POSTGRES_USER"
pg_dump ${1+"$@"} $DATABASE
if [ "$?" -ne 0 ]