Re: pg_dumpall fails if a database name contains =

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Pg Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: pg_dumpall fails if a database name contains =
Date: 2013-02-20 15:17:46
Message-ID: 5124E91A.5060206@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 20.02.2013 16:19, Heikki Linnakangas wrote:
> ~/pgsql.92stable$ bin/createdb "foo=bar"
> ~/pgsql.92stable$ bin/pg_dumpall > /dev/null
> pg_dump: [archiver (db)] connection to database "(null)" failed: invalid
> connection option "foo"
> pg_dumpall: pg_dump failed on database "foo=bar", exiting
>
> There are two bugs above:
>
> 1. When pg_dumpall passes the database name to pg_dump as a command line
> argument, pg_dump interprets it as a connection string if it contains =.

Fixed this by passing the database name to pg_dump as a connection
string. That way pg_dump doesn't interpret the database name. So now
pg_dumpall calls pg_dump like this:

pg_dump ... "dbname='foo'"

instead of just

pg_dump ... "foo"

> 2. When you pass an invalid connection string to pg_dump, it passes a
> NULL pointer to printf when constructing the error message. It shows as
> "(null)" above, but would segfault on other platforms.

Fixed by printing an empty string instead of passing NULL to fprintf.

- Heikki

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message bricklen 2013-02-20 15:45:23 Re: new BUG: "postgresql 9.2.3: very long query time"
Previous Message Peter Kroon 2013-02-20 14:20:54 Re: Nested xmlagg doesn't give a result 9.2.3