From 615e77ede2f3cd25cac7725112e31fb38753e270 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Thu, 27 May 1999 16:29:05 +0000
Subject: [PATCH] Make pg_dump dump ACL's by default, print warning on use of
 -z, and add new -x option to skip acl dump.

---
 doc/src/sgml/install.sgml        |  4 ++--
 doc/src/sgml/ref/pg_dump.sgml    |  6 +++---
 doc/src/sgml/ref/pg_dumpall.sgml |  6 +++---
 doc/src/sgml/ref/pg_upgrade.sgml |  2 +-
 src/bin/pg_dump/common.c         |  6 +++---
 src/bin/pg_dump/pg_dump.c        | 33 ++++++++++++++++++--------------
 src/man/pg_dump.1                |  8 ++++----
 7 files changed, 35 insertions(+), 30 deletions(-)

diff --git a/doc/src/sgml/install.sgml b/doc/src/sgml/install.sgml
index 907bbfe0352..9d6d8a2cc68 100644
--- a/doc/src/sgml/install.sgml
+++ b/doc/src/sgml/install.sgml
@@ -259,7 +259,7 @@ script from v6.0 or everything
 To dump your fairly recent post-v6.0 database installation, type
 
 <programlisting>
-$ pg_dumpall -z > db.out
+$ pg_dumpall > db.out
 </programlisting>
 </para>
 <para>
@@ -273,7 +273,7 @@ $ cd
 $ gunzip -c postgresql-v6.5.tar.gz \
     | tar xvf - src/bin/pg_dump/pg_dumpall
 $ chmod a+x src/bin/pg_dump/pg_dumpall
-$ src/bin/pg_dump/pg_dumpall -z > db.out
+$ src/bin/pg_dump/pg_dumpall > db.out
 $ rm -rf src
 </ProgramListing>
 </Para>
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 8fe0bf47897..2345d34c841 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -22,7 +22,7 @@ pg_dump [ <replaceable class="parameter">dbname</replaceable> ]
 pg_dump [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replaceable class="parameter">port</replaceable> ]
     [ -t <replaceable class="parameter">table</replaceable> ]
     [ -f <replaceable class="parameter">outputfile</replaceable> ]
-    [ -a ] [ -c ] [ -d ] [ -D ] [ -n ] [ -N ] [ -o ] [ -s ] [ -u ] [ -v ] [ -z ]
+    [ -a ] [ -c ] [ -d ] [ -D ] [ -n ] [ -N ] [ -o ] [ -s ] [ -u ] [ -v ] [ -x ]
     [ <replaceable class="parameter">dbname</replaceable> ]
 </SYNOPSIS>
 
@@ -190,11 +190,11 @@ pg_dump [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replaceab
 	  
 	  <varlistentry>
 	    <term>
-	      -z
+	      -x
 	    </term>
 	    <listitem>
 	      <para>
-		Include ACLs (grant/revoke commands) and table ownership information.
+		Prevent dumping of ACLs (grant/revoke commands) and table ownership information.
 	      </para>
 	    </listitem>
 	  </varlistentry>
diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml
index 3be7440720c..9447ff89426 100644
--- a/doc/src/sgml/ref/pg_dumpall.sgml
+++ b/doc/src/sgml/ref/pg_dumpall.sgml
@@ -20,7 +20,7 @@ Extract all <productname>Postgres</productname> databases into a script file
 <SYNOPSIS>
 pg_dumpall
 pg_dumpall [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replaceable class="parameter">port</replaceable> ]
-    [ -a ] [ -d ] [ -D ] [ -o ] [ -s ] [ -u ] [ -v ] [ -z ]
+    [ -a ] [ -d ] [ -D ] [ -o ] [ -s ] [ -u ] [ -v ] [ -x ]
 </SYNOPSIS>
 
     <REFSECT2 ID="R2-APP-PG-DUMPALL-1">
@@ -125,11 +125,11 @@ pg_dumpall [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replac
 	  
 	  <varlistentry>
 	    <term>
-	      -z
+	      -x
 	    </term>
 	    <listitem>
 	      <para>
-		Include ACLs (grant/revoke commands) and table ownership information.
+		Prevent dumping ACLs (grant/revoke commands) and table ownership information.
 	      </para>
 	    </listitem>
 	  </varlistentry>
diff --git a/doc/src/sgml/ref/pg_upgrade.sgml b/doc/src/sgml/ref/pg_upgrade.sgml
index 2f1a0c87f79..7ee84fa0d3c 100644
--- a/doc/src/sgml/ref/pg_upgrade.sgml
+++ b/doc/src/sgml/ref/pg_upgrade.sgml
@@ -34,7 +34,7 @@ Description
  PostgreSQL release without reloading all the data.  First,
  to be safe, back up your data directory.  Then, use:
 <programlisting>
-% pg_dumpall -s -z >db.out
+% pg_dumpall -s >db.out
 </programlisting>
 to dump out your old  database definitions without any
 data.  Stop the postmaster and all backends.
diff --git a/src/bin/pg_dump/common.c b/src/bin/pg_dump/common.c
index cf5bf3d0b1e..d0737b4b114 100644
--- a/src/bin/pg_dump/common.c
+++ b/src/bin/pg_dump/common.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.31 1999/05/26 21:51:13 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.32 1999/05/27 16:29:03 momjian Exp $
  *
  * Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
  *
@@ -232,7 +232,7 @@ TableInfo  *
 dumpSchema(FILE *fout,
 		   int *numTablesPtr,
 		   const char *tablename,
-		   const bool acls)
+		   const bool aclsSkip)
 {
 	int			numTypes;
 	int			numFuncs;
@@ -301,7 +301,7 @@ dumpSchema(FILE *fout,
 			fprintf(stderr, "%s dumping out tables %s\n",
 					g_comment_start, g_comment_end);
 		dumpTables(fout, tblinfo, numTables, inhinfo, numInherits,
-				   tinfo, numTypes, tablename, acls);
+				   tinfo, numTypes, tablename, aclsSkip);
 	}
 
 	if (!tablename && fout)
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index e94faf35b16..12cf2d63afa 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -21,7 +21,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.112 1999/05/26 21:51:12 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.113 1999/05/27 16:29:03 momjian Exp $
  *
  * Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
  *
@@ -116,7 +116,7 @@ bool		dumpData;			/* dump data using proper insert strings */
 bool		attrNames;			/* put attr names into insert strings */
 bool		schemaOnly;
 bool		dataOnly;
-bool		aclsOption;
+bool		aclsSkip;
 bool		dropSchema;
 
 char		g_opaque_type[10];	/* name for the opaque type */
@@ -549,7 +549,7 @@ main(int argc, char **argv)
 	char		tmp_string[128];
 	char		username[100];
 	char		password[100];
-	int			use_password = 0;
+	bool		use_password = false;
 
 	g_verbose = false;
 	force_quotes = true;
@@ -563,7 +563,7 @@ main(int argc, char **argv)
 
 	progname = *argv;
 
-	while ((c = getopt(argc, argv, "acdDf:h:nNop:st:vzu")) != EOF)
+	while ((c = getopt(argc, argv, "acdDf:h:nNop:st:uvxz")) != EOF)
 	{
 		switch (c)
 		{
@@ -630,14 +630,19 @@ main(int argc, char **argv)
 					}
 				}
 				break;
+			case 'u':
+				use_password = true;
+				break;
 			case 'v':			/* verbose */
 				g_verbose = true;
 				break;
-			case 'z':			/* Dump ACLs and table ownership info */
-				aclsOption = true;
+			case 'x':			/* skip ACL dump */
+				aclsSkip = true;
 				break;
-			case 'u':
-				use_password = 1;
+			case 'z':			/* Old ACL option bjm 1999/05/27 */
+				fprintf(stderr,
+				 "%s: The -z option(dump ACLs) is now the default, continuing.\n",
+					progname);
 				break;
 			default:
 				usage(progname);
@@ -726,10 +731,10 @@ main(int argc, char **argv)
 		if (g_verbose)
 			fprintf(stderr, "%s last builtin oid is %u %s\n",
 					g_comment_start, g_last_builtin_oid, g_comment_end);
-		tblinfo = dumpSchema(g_fout, &numTables, tablename, aclsOption);
+		tblinfo = dumpSchema(g_fout, &numTables, tablename, aclsSkip);
 	}
 	else
-		tblinfo = dumpSchema(NULL, &numTables, tablename, aclsOption);
+		tblinfo = dumpSchema(NULL, &numTables, tablename, aclsSkip);
 
 	if (!schemaOnly)
 		dumpClasses(tblinfo, numTables, g_fout, tablename, oids);
@@ -2689,7 +2694,7 @@ void
 dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
 		   InhInfo *inhinfo, int numInherits,
 		   TypeInfo *tinfo, int numTypes, const char *tablename,
-		   const bool acls)
+		   const bool aclsSkip)
 {
 	int			i,
 				j,
@@ -2723,7 +2728,7 @@ dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
 		{
 			becomeUser(fout, tblinfo[i].usename);
 			dumpSequence(fout, tblinfo[i]);
-			if (acls)
+			if (!aclsSkip)
 				dumpACL(fout, tblinfo[i]);
 		}
 	}
@@ -2847,7 +2852,7 @@ dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
 
 			strcat(q, ";\n");
 			fputs(q, fout);
-			if (acls)
+			if (!aclsSkip)
 				dumpACL(fout, tblinfo[i]);
 
 		}
@@ -3380,7 +3385,7 @@ becomeUser(FILE *fout, const char *username)
 {
 	static const char *lastusername = "";
 
-	if (!aclsOption)
+	if (aclsSkip)
 		return;
 
 	if (strcmp(lastusername, username) == 0)
diff --git a/src/man/pg_dump.1 b/src/man/pg_dump.1
index ec369b0b4bd..a0930ee7bce 100644
--- a/src/man/pg_dump.1
+++ b/src/man/pg_dump.1
@@ -1,6 +1,6 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/pg_dump.1,v 1.16 1999/01/21 22:53:37 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/pg_dump.1,v 1.17 1999/05/27 16:29:05 momjian Exp $
 .TH PG_DUMP UNIX 7/15/98 PostgreSQL PostgreSQL
 .SH NAME
 pg_dump - dumps out a Postgres database into a script file
@@ -48,7 +48,7 @@ table]
 .BR "-v"
 ]
 [\c
-.BR "-z"
+.BR "-x"
 ]
 dbname
 .in -5n
@@ -113,8 +113,8 @@ Use password authentication. Prompts for username and password
 .BR "-v" ""
 Specifies verbose mode
 .TP
-.BR "-z" ""
-Include ACLs (grant/revoke commands) and table ownership information
+.BR "-x" ""
+Prevent dumping of ACLs (grant/revoke commands) and table ownership information
 .PP
 If dbname is not supplied, then the DATABASE environment variable value is used.
 .SH "CAVEATS AND LIMITATIONS"
-- 
GitLab