pg_dump -z has gotten rather thoroughly broken in the last couple

Bruce Momjian <bruce@momjian.us>

Commit: 916710fc914b94995438fee36f4480b17ce420ed
Author: Bruce Momjian <bruce@momjian.us>
Date: 1998-07-19T05:24:51Z
Releases: 7.1.1
pg_dump -z has gotten rather thoroughly broken in the last couple
of days --- it was emitting stuff like
	REVOKE ALL on 'table' from PUBLIC; GRANT ALL on "table" to
	"Public"; neither of which work.  While I was at it I
cleaned up a few other things:

* \connect commands are issued only in -z mode.  In this way,
reloading a pg_dump script made without -z will generate a simple
database wholly owned by the invoking user, rather than a mishmash
of tables owned by various people but lacking in access rights.
(Analogy: cp versus cp -p.)

* \connect commands are issued just before COPY FROM stdin commands;
without this, reloading a database containing non-world-writable
tables tended to fail because the COPY was not necessarily attempted
as the table owner.

* Redundant \connect commands are suppressed (each one costs a
backend launch, so...).

* Man page updated (-z wasn't ever documented).

The first two items were discussed in a pgsql-hackers thread around
6 May 98 ("An item for the TODO list: pg_dump and multiple table
owners") but no one had bothered to deal with 'em yet.

			regards, tom lane

Files

PathChange+/−
src/bin/pg_dump/pg_dump.c modified +58 −26
src/man/pg_dump.1 modified +13 −6