Commit 3a3c1b85 authored by Marc G. Fournier's avatar Marc G. Fournier

From: Tom Lane <tgl@sss.pgh.pa.us>

I see someone missed an ancient bit of shell-scripting lore:
on some older shells, if your script's argument list is empty,
then "$@" generates an empty-string word rather than no word
at all.  You need to write ${1+"$@"} to get the latter behavior.
(Read your shell man page to see exactly how that works,
but it does the Right Thing on every Bourne shell.)

In particular, pg_dumpall fails when invoked without any switches
on HPUX 9.*, because pg_dump gets an empty-string argument that it
thinks is the name of the database to dump.  I expect this bug
also affects some other OSes, but couldn't tell you just which ones.
Patch attached.
parent bd029bcb
......@@ -58,7 +58,7 @@ do
echo "${BS}connect template1 $POSTGRES_USER"
echo "create database $DATABASE;"
echo "${BS}connect $DATABASE $POSTGRES_USER"
pg_dump "$@" $DATABASE
pg_dump ${1+"$@"} $DATABASE
if [ "$?" -ne 0 ]
then echo "pg_dump failed on $DATABASE, exiting" 1>&2
exit 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment