Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit96e1cb4

Browse files
committed
pg_dump: Add --no-publications option
Author: Michael Paquier <michael.paquier@gmail.com>
1 parentb807f59 commit96e1cb4

File tree

8 files changed

+49
-1
lines changed

8 files changed

+49
-1
lines changed

‎doc/src/sgml/ref/pg_dump.sgml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,6 +789,15 @@ PostgreSQL documentation
789789
</listitem>
790790
</varlistentry>
791791

792+
<varlistentry>
793+
<term><option>--no-publications</option></term>
794+
<listitem>
795+
<para>
796+
Do not dump publications.
797+
</para>
798+
</listitem>
799+
</varlistentry>
800+
792801
<varlistentry>
793802
<term><option>--no-security-labels</option></term>
794803
<listitem>

‎doc/src/sgml/ref/pg_dumpall.sgml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,15 @@ PostgreSQL documentation
345345
</listitem>
346346
</varlistentry>
347347

348+
<varlistentry>
349+
<term><option>--no-publications</option></term>
350+
<listitem>
351+
<para>
352+
Do not dump publications.
353+
</para>
354+
</listitem>
355+
</varlistentry>
356+
348357
<varlistentry>
349358
<term><option>--no-security-labels</option></term>
350359
<listitem>

‎doc/src/sgml/ref/pg_restore.sgml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,16 @@
581581
</listitem>
582582
</varlistentry>
583583

584+
<varlistentry>
585+
<term><option>--no-publications</option></term>
586+
<listitem>
587+
<para>
588+
Do not output commands to restore publications, even if the archive
589+
contains them.
590+
</para>
591+
</listitem>
592+
</varlistentry>
593+
584594
<varlistentry>
585595
<term><option>--no-security-labels</option></term>
586596
<listitem>

‎src/bin/pg_dump/pg_backup.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ typedef struct _restoreOptions
7474
intdump_inserts;
7575
intcolumn_inserts;
7676
intif_exists;
77+
intno_publications;/* Skip publication entries */
7778
intno_security_labels;/* Skip security label entries */
7879
intno_subscriptions;/* Skip subscription entries */
7980
intstrict_names;
@@ -146,6 +147,7 @@ typedef struct _dumpOptions
146147
intcolumn_inserts;
147148
intif_exists;
148149
intno_security_labels;
150+
intno_publications;
149151
intno_subscriptions;
150152
intno_synchronized_snapshots;
151153
intno_unlogged_table_data;

‎src/bin/pg_dump/pg_backup_archiver.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ dumpOptionsFromRestoreOptions(RestoreOptions *ropt)
166166

167167
dopt->disable_dollar_quoting=ropt->disable_dollar_quoting;
168168
dopt->dump_inserts=ropt->dump_inserts;
169+
dopt->no_publications=ropt->no_publications;
169170
dopt->no_security_labels=ropt->no_security_labels;
170171
dopt->no_subscriptions=ropt->no_subscriptions;
171172
dopt->lockWaitTimeout=ropt->lockWaitTimeout;
@@ -2792,6 +2793,10 @@ _tocEntryRequired(TocEntry *te, teSection curSection, RestoreOptions *ropt)
27922793
if (ropt->aclsSkip&&_tocEntryIsACL(te))
27932794
return0;
27942795

2796+
/* If it's a publication, maybe ignore it */
2797+
if (ropt->no_publications&&strcmp(te->desc,"PUBLICATION")==0)
2798+
return0;
2799+
27952800
/* If it's security labels, maybe ignore it */
27962801
if (ropt->no_security_labels&&strcmp(te->desc,"SECURITY LABEL")==0)
27972802
return0;

‎src/bin/pg_dump/pg_dump.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ main(int argc, char **argv)
352352
{"snapshot", required_argument, NULL, 6},
353353
{"strict-names", no_argument, &strict_names, 1},
354354
{"use-set-session-authorization", no_argument, &dopt.use_setsessauth, 1},
355+
{"no-publications", no_argument, &dopt.no_publications, 1},
355356
{"no-security-labels", no_argument, &dopt.no_security_labels, 1},
356357
{"no-synchronized-snapshots", no_argument, &dopt.no_synchronized_snapshots, 1},
357358
{"no-unlogged-table-data", no_argument, &dopt.no_unlogged_table_data, 1},
@@ -862,6 +863,7 @@ main(int argc, char **argv)
862863
ropt->use_setsessauth = dopt.use_setsessauth;
863864
ropt->disable_dollar_quoting = dopt.disable_dollar_quoting;
864865
ropt->dump_inserts = dopt.dump_inserts;
866+
ropt->no_publications = dopt.no_publications;
865867
ropt->no_security_labels = dopt.no_security_labels;
866868
ropt->no_subscriptions = dopt.no_subscriptions;
867869
ropt->lockWaitTimeout = dopt.lockWaitTimeout;
@@ -951,6 +953,7 @@ help(const char *progname)
951953
printf(_(" --exclude-table-data=TABLE do NOT dump data for the named table(s)\n"));
952954
printf(_(" --if-exists use IF EXISTS when dropping objects\n"));
953955
printf(_(" --inserts dump data as INSERT commands, rather than COPY\n"));
956+
printf(_(" --no-publications do not dump publications\n"));
954957
printf(_(" --no-security-labels do not dump security label assignments\n"));
955958
printf(_(" --no-subscriptions do not dump subscriptions\n"));
956959
printf(_(" --no-synchronized-snapshots do not use synchronized snapshots in parallel jobs\n"));
@@ -3376,6 +3379,7 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
33763379
void
33773380
getPublications(Archive *fout)
33783381
{
3382+
DumpOptions *dopt = fout->dopt;
33793383
PQExpBuffer query;
33803384
PGresult *res;
33813385
PublicationInfo *pubinfo;
@@ -3390,7 +3394,7 @@ getPublications(Archive *fout)
33903394
inti,
33913395
ntups;
33923396

3393-
if (fout->remoteVersion < 100000)
3397+
if (dopt->no_publications ||fout->remoteVersion < 100000)
33943398
return;
33953399

33963400
query = createPQExpBuffer();

‎src/bin/pg_dump/pg_dumpall.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ static intif_exists = 0;
7474
staticintinserts=0;
7575
staticintno_tablespaces=0;
7676
staticintuse_setsessauth=0;
77+
staticintno_publications=0;
7778
staticintno_security_labels=0;
7879
staticintno_subscriptions=0;
7980
staticintno_unlogged_table_data=0;
@@ -129,6 +130,7 @@ main(int argc, char *argv[])
129130
{"quote-all-identifiers",no_argument,&quote_all_identifiers,1},
130131
{"role",required_argument,NULL,3},
131132
{"use-set-session-authorization",no_argument,&use_setsessauth,1},
133+
{"no-publications",no_argument,&no_publications,1},
132134
{"no-security-labels",no_argument,&no_security_labels,1},
133135
{"no-subscriptions",no_argument,&no_subscriptions,1},
134136
{"no-sync",no_argument,NULL,4},
@@ -385,6 +387,8 @@ main(int argc, char *argv[])
385387
appendPQExpBufferStr(pgdumpopts," --quote-all-identifiers");
386388
if (use_setsessauth)
387389
appendPQExpBufferStr(pgdumpopts," --use-set-session-authorization");
390+
if (no_publications)
391+
appendPQExpBufferStr(pgdumpopts," --no-publications");
388392
if (no_security_labels)
389393
appendPQExpBufferStr(pgdumpopts," --no-security-labels");
390394
if (no_subscriptions)
@@ -594,6 +598,7 @@ help(void)
594598
printf(_(" --disable-triggers disable triggers during data-only restore\n"));
595599
printf(_(" --if-exists use IF EXISTS when dropping objects\n"));
596600
printf(_(" --inserts dump data as INSERT commands, rather than COPY\n"));
601+
printf(_(" --no-publications do not dump publications\n"));
597602
printf(_(" --no-security-labels do not dump security label assignments\n"));
598603
printf(_(" --no-subscriptions do not dump subscriptions\n"));
599604
printf(_(" --no-sync do not wait for changes to be written safely to disk\n"));

‎src/bin/pg_dump/pg_restore.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ main(int argc, char **argv)
7171
staticintno_data_for_failed_tables=0;
7272
staticintoutputNoTablespaces=0;
7373
staticintuse_setsessauth=0;
74+
staticintno_publications=0;
7475
staticintno_security_labels=0;
7576
staticintno_subscriptions=0;
7677
staticintstrict_names=0;
@@ -118,6 +119,7 @@ main(int argc, char **argv)
118119
{"section",required_argument,NULL,3},
119120
{"strict-names",no_argument,&strict_names,1},
120121
{"use-set-session-authorization",no_argument,&use_setsessauth,1},
122+
{"no-publications",no_argument,&no_publications,1},
121123
{"no-security-labels",no_argument,&no_security_labels,1},
122124
{"no-subscriptions",no_argument,&no_subscriptions,1},
123125

@@ -356,6 +358,7 @@ main(int argc, char **argv)
356358
opts->noDataForFailedTables=no_data_for_failed_tables;
357359
opts->noTablespace=outputNoTablespaces;
358360
opts->use_setsessauth=use_setsessauth;
361+
opts->no_publications=no_publications;
359362
opts->no_security_labels=no_security_labels;
360363
opts->no_subscriptions=no_subscriptions;
361364

@@ -479,6 +482,7 @@ usage(const char *progname)
479482
printf(_(" --if-exists use IF EXISTS when dropping objects\n"));
480483
printf(_(" --no-data-for-failed-tables do not restore data of tables that could not be\n"
481484
" created\n"));
485+
printf(_(" --no-publications do not restore publications\n"));
482486
printf(_(" --no-security-labels do not restore security labels\n"));
483487
printf(_(" --no-subscriptions do not restore subscriptions\n"));
484488
printf(_(" --no-tablespaces do not restore tablespace assignments\n"));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp