6.5.1 pg_dump adds "connect as" line

Started by Ted Nolan SRI Augusta GAover 26 years ago2 messagesgeneral
Jump to latest
#1Ted Nolan SRI Augusta GA
ted@ags.ga.erg.sri.com

Folks,

Just noticed this: I did a pg_dump on a database I wanted to send to
someone (from 6.5.1 on NT), and the dump file included a "connect as"
line.

This was bad, because we don't share a user namespace, and when he did

psql < dumpfile

it died because my user did not exist on his machine. (We used sed to
edit it out and continue from there..)

6.5 on Solaris does not emit this line, and reloads on machines with
different users work fine..

Is this a bug, or a feature I don't understand?

Thanks,

Ted

#2Ross J. Reedstrom
reedstrm@rice.edu
In reply to: Ted Nolan SRI Augusta GA (#1)
Re: [GENERAL] 6.5.1 pg_dump adds "connect as" line

On Fri, Aug 27, 1999 at 10:34:58PM -0400, Ted Nolan SRI Augusta GA wrote:

Folks,

Just noticed this: I did a pg_dump on a database I wanted to send to
someone (from 6.5.1 on NT), and the dump file included a "connect as"
line.

This was bad, because we don't share a user namespace, and when he did

psql < dumpfile

it died because my user did not exist on his machine. (We used sed to
edit it out and continue from there..)

6.5 on Solaris does not emit this line, and reloads on machines with
different users work fine..

Is this a bug, or a feature I don't understand?

New, poorly documented default of an old feature. It's always been
recommended that when using pg_dump for backup, the -z switch be used,
to dump ACLs (Access Control Lists) As of 6.5.1, this has been made the
default behavior. I call it poorly documented only because this bit me
as well recently, for the same reason, and the switch added to turn ACL
dumping off ( -x ) is not documented in the usage message. I went and
grovelled in the source to find it. Patch below:

--- pg_dump.c~  Mon Jul 26 10:43:34 1999
+++ pg_dump.c   Fri Aug 27 23:59:41 1999
@@ -160,7 +160,9 @@
        fprintf(stderr,
                        "\t -v          \t\t verbose\n");
        fprintf(stderr,
-                       "\t -z          \t\t dump ACLs (grant/revoke)\n");
+                       "\t -z          \t\t dump ACLs (grant/revoke) on by default\n");
+       fprintf(stderr,
+                       "\t -x          \t\t don't dump ACLs\n");
        fprintf(stderr,
                        "\nIf dbname is not supplied, then the DATABASE environment "
                        "variable value is used.\n");

--
Ross J. Reedstrom, Ph.D., <reedstrm@rice.edu>
NSBRI Research Scientist/Programmer
Computer and Information Technology Institute
Rice University, 6100 S. Main St., Houston, TX 77005