OSDN Git Service

Fixup pg_dumpall adding --lock-wait-timeout, to match pg_dump.
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 29 Aug 2008 17:28:43 +0000 (17:28 +0000)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 29 Aug 2008 17:28:43 +0000 (17:28 +0000)
David Gould

doc/src/sgml/ref/pg_dumpall.sgml
src/bin/pg_dump/pg_dumpall.c

index a8715fb..df3d852 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.72 2008/04/13 03:49:21 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.73 2008/08/29 17:28:43 alvherre Exp $
 PostgreSQL documentation
 -->
 
@@ -196,6 +196,22 @@ PostgreSQL documentation
      </varlistentry>
 
      <varlistentry>
+      <term><option>--lock-wait-timeout=<replaceable class="parameter">timeout</replaceable></option></term>
+      <listitem>
+       <para>
+        Do not wait forever to acquire shared table locks at the beginning of
+        the dump. Instead fail if unable to lock a table within the specified
+        <replaceable class="parameter">timeout</>. The timeout may be
+        specified in any of the formats accepted by <command>SET
+        statement_timeout</>.  (Allowed values vary depending on the server
+        version you are dumping from, but an integer number of milliseconds
+        is accepted by all versions since 7.3.  This option is ignored when
+        dumping from a pre-7.3 server.)
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
       <term><option>--no-tablespaces</option></term>
       <listitem>
        <para>
index 2e0a83f..3bac1a3 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.105 2008/06/26 01:35:45 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.106 2008/08/29 17:28:43 alvherre Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -120,6 +120,7 @@ main(int argc, char *argv[])
                {"disable-triggers", no_argument, &disable_triggers, 1},
                {"no-tablespaces", no_argument, &no_tablespaces, 1},
                {"use-set-session-authorization", no_argument, &use_setsessauth, 1},
+               {"lock-wait-timeout", required_argument, NULL, 2},
 
                {NULL, 0, NULL, 0}
        };
@@ -305,6 +306,11 @@ main(int argc, char *argv[])
                        case 0:
                                break;
 
+                       case 2:
+                               appendPQExpBuffer(pgdumpopts, " --lock-wait-timeout=");
+                               appendPQExpBuffer(pgdumpopts, optarg);
+                               break;
+
                        default:
                                fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
                                exit(1);
@@ -488,6 +494,8 @@ help(void)
        printf(_("  -f, --file=FILENAME      output file name\n"));
        printf(_("  --help                   show this help, then exit\n"));
        printf(_("  --version                output version information, then exit\n"));
+       printf(_("  --lock-wait-timeout=TIMEOUT\n"
+                        "                           fail after waiting TIMEOUT for a table lock\n"));
        printf(_("\nOptions controlling the output content:\n"));
        printf(_("  -a, --data-only          dump only the data, not the schema\n"));
        printf(_("  -c, --clean              clean (drop) databases prior to create\n"));