diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2019-06-14 18:21:52 -0400 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2019-06-14 18:21:52 -0400 |
commit | a193cbec1199e4e529c46645b7aecbf38956048b (patch) | |
tree | c0659de7265ee09336676cb3589300cdbf6c51f5 | |
parent | 313f56ce2d1b9dfd3483e4f39611baa27852835a (diff) | |
download | postgresql-a193cbec1199e4e529c46645b7aecbf38956048b.tar.gz postgresql-a193cbec1199e4e529c46645b7aecbf38956048b.zip |
Add pg_dumpall --rows-per-insert
Commit 7e413a0f82c8 added that option to pg_dump, but neglected to teach
pg_dumpall how to pass it along. Repair.
Author: Fabien Coelho
Reported-by: Peter Eisentraut
Reviewed-by: David Rowley
Discussion: https://postgr.es/m/45f50c59-ddbb-8cf2-eedb-81003f603528@2ndquadrant.com
-rw-r--r-- | doc/src/sgml/ref/pg_dumpall.sgml | 14 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dumpall.c | 7 |
2 files changed, 21 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml index b35c702f99c..55d44171685 100644 --- a/doc/src/sgml/ref/pg_dumpall.sgml +++ b/doc/src/sgml/ref/pg_dumpall.sgml @@ -502,6 +502,20 @@ PostgreSQL documentation </varlistentry> <varlistentry> + <term><option>--rows-per-insert=<replaceable class="parameter">nrows</replaceable></option></term> + <listitem> + <para> + Dump data as <command>INSERT</command> commands (rather than + <command>COPY</command>). Controls the maximum number of rows per + <command>INSERT</command> command. The value specified must be a + number greater than zero. Any error during reloading will cause only + rows that are part of the problematic <command>INSERT</command> to be + lost, rather than the entire table contents. + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><option>--use-set-session-authorization</option></term> <listitem> <para> diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index ea4ac91c00f..24719cefe28 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -146,6 +146,7 @@ main(int argc, char *argv[]) {"no-sync", no_argument, NULL, 4}, {"no-unlogged-table-data", no_argument, &no_unlogged_table_data, 1}, {"on-conflict-do-nothing", no_argument, &on_conflict_do_nothing, 1}, + {"rows-per-insert", required_argument, NULL, 7}, {NULL, 0, NULL, 0} }; @@ -329,6 +330,11 @@ main(int argc, char *argv[]) simple_string_list_append(&database_exclude_patterns, optarg); break; + case 7: + appendPQExpBufferStr(pgdumpopts, " --rows-per-insert "); + appendShellString(pgdumpopts, optarg); + break; + default: fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); exit_nicely(1); @@ -648,6 +654,7 @@ help(void) printf(_(" --no-unlogged-table-data do not dump unlogged table data\n")); printf(_(" --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n")); printf(_(" --quote-all-identifiers quote all identifiers, even if not key words\n")); + printf(_(" --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n")); printf(_(" --use-set-session-authorization\n" " use SET SESSION AUTHORIZATION commands instead of\n" " ALTER OWNER commands to set ownership\n")); |