diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml index a8715fbd7ad49340acb86fb2c61117bbfadf7056..df3d8521d6379dcbde10018a0ec5c768cc252c19 100644 --- a/doc/src/sgml/ref/pg_dumpall.sgml +++ b/doc/src/sgml/ref/pg_dumpall.sgml @@ -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 --> @@ -195,6 +195,22 @@ PostgreSQL documentation </listitem> </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> diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 2e0a83fcccfa05ef4143b7d0e39d67245d750d1a..3bac1a38cefeea138e4e0fd770b0e33c60fb30fc 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -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"));