Re: BUG #13702: pg_dump interprets “=” in a db name incorrectly - Mailing list pgsql-bugs

From Felipe Gasper
Subject Re: BUG #13702: pg_dump interprets “=” in a db name incorrectly
Date
Msg-id 56298DAC.3070906@felipegasper.com
Whole thread Raw
In response to Re: [BUGS] BUG #13702: pg_dump interprets “=” in a db name incorrectly  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: BUG #13702: pg_dump interprets “=”in a db name incorrectly  (David Gould <daveg@sonic.net>)
List pgsql-bugs
On 22 Oct 2015 7:56 PM, David G. Johnston wrote:
> On Thu, Oct 22, 2015 at 8:34 PM, <felipe@felipegasper.com
> <mailto:felipe@felipegasper.com>>wrote:
>
>     The following bug has been logged on the website:
>
>     Bug reference:      13702
>     Logged by:          Felipe Gasper
>     Email address: felipe@felipegasper.com <mailto:felipe@felipegasper.com>
>     PostgreSQL version: Unsupported/Unknown
>     Operating system:   Linux
>     Description:
>
>     For the purposes of an administrative frontend that I help
>     develop/maintain,
>     I have a database named:
>
>     --------------
>     abcde_1234567890-=~!@#$%^&*()_+[]\{}|;:?,.<b><b> spaces
>     --------------
>
>     When I try to back up this DB via pg_dump, the utility appears to
>     split the
>     DB name on the “=”, thinking that it’s another command-line option.
>
>     I’ve tried passing in “--”, but no joy. I tried passing “--dbname”
>     then the
>     DB name, but pg_dump doesn’t seem to accept that argument.
>
>
> "--dbname=..." ​Documented 9.3 and above​
>
>
>     The only working solution I have found is to set the DB name in
>     PGDATABASE.
>
>     I found this in 9.0.18. Maybe it’s still a problem in supported
>     releases,
>     too?
>
>
> It was decided to make the database name in this situation be an
> abstract concept as opposed to strictly referring to a named database.
> Because of this the equal sign has a special meaning that, apparently,
> cannot be overridden.
>
> You may want to consider URI format - the following appears to work (9.3
> tested)
>
> psql postgres:///db=123
>  >psql: FATAL: database "db=123" does not exist
>

Interesting -- also, in 9.0 I *can* do:

dbname='...'

… and it works. Undocumented, apparently (?), but it does the job.

But, I actually have to support all the way back to 8.1, and I’m a bit
leery of relying on undocumented (?) features for our backup
functionality. Hopefully down the road we can just move everything to
 >=9.3, and peace and love will reign. :)

Thank you!

-Felipe Gasper
Houston, TX



pgsql-bugs by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: [BUGS] BUG #13702: pg_dump interprets “=” in a db name incorrectly
Next
From: David Gould
Date:
Subject: Re: BUG #13702: pg_dump interprets “=”in a db name incorrectly