pg_dump should use current_database() instead of PQdb()
A report from a pgbouncer user revealed that running pg_dump -C/--create
does not work through a connection proxy if the virtual database name on
the proxy does not match the real database name on the database server.
That's because pg_dump looks up the database to be dumped using the
information from PQdb(). It should be using current_database() instead.
(The code was quite likely written before current_database() was
available (PG 7.3)).
See attached patch.
There are a few other uses of PQdb() in pg_dump, but I think those are
OK because they relate to connection information.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Attachments:
0001-pg_dump-Use-current_database-instead-of-PQdb.patchtext/plain; charset=UTF-8; name=0001-pg_dump-Use-current_database-instead-of-PQdb.patch; x-mac-creator=0; x-mac-type=0Download+22-31
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
A report from a pgbouncer user revealed that running pg_dump -C/--create
does not work through a connection proxy if the virtual database name on
the proxy does not match the real database name on the database server.
That's because pg_dump looks up the database to be dumped using the
information from PQdb(). It should be using current_database() instead.
(The code was quite likely written before current_database() was
available (PG 7.3)).
See attached patch.
Looks reasonable in a quick once-over, but I've not tested it.
regards, tom lane
On 4/10/18 12:40, Peter Eisentraut wrote:
A report from a pgbouncer user revealed that running pg_dump -C/--create
does not work through a connection proxy if the virtual database name on
the proxy does not match the real database name on the database server.
That's because pg_dump looks up the database to be dumped using the
information from PQdb(). It should be using current_database() instead.
(The code was quite likely written before current_database() was
available (PG 7.3)).See attached patch.
committed
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services