diff options
author | Michael Paquier <michael@paquier.xyz> | 2018-09-25 11:03:56 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2018-09-25 11:03:56 +0900 |
commit | 08c9917e24683e36dca35201723e47cdc3fa62db (patch) | |
tree | f9418d323eb12d5dfcbefd15f5de4379aeef17ab | |
parent | edb9797660541b217d23ae7c02b96b496d34fec4 (diff) | |
download | postgresql-08c9917e24683e36dca35201723e47cdc3fa62db.tar.gz postgresql-08c9917e24683e36dca35201723e47cdc3fa62db.zip |
Ignore publication tables when --no-publications is used
96e1cb4 has added support for --no-publications in pg_dump, pg_dumpall
and pg_restore, but forgot the fact that publication tables also need to
be ignored when this option is used.
Author: Gilles Darold
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/3f48e812-b0fa-388e-2043-9a176bdee27e@dalibo.com
Backpatch-through: 10, where publications have been added.
-rw-r--r-- | src/bin/pg_dump/pg_backup_archiver.c | 9 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 3 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index 7d1d439ba28..d1faa70d78d 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -2919,8 +2919,13 @@ _tocEntryRequired(TocEntry *te, teSection curSection, ArchiveHandle *AH) if (ropt->no_comments && strcmp(te->desc, "COMMENT") == 0) return 0; - /* If it's a publication, maybe ignore it */ - if (ropt->no_publications && strcmp(te->desc, "PUBLICATION") == 0) + /* + * If it's a publication or a table part of a publication, maybe ignore + * it. + */ + if (ropt->no_publications && + (strcmp(te->desc, "PUBLICATION") == 0 || + strcmp(te->desc, "PUBLICATION TABLE") == 0)) return 0; /* If it's a security label, maybe ignore it */ diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 0687a819147..c8d01ed4a4c 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -3907,6 +3907,7 @@ getPublicationTables(Archive *fout, TableInfo tblinfo[], int numTables) PQExpBuffer query; PGresult *res; PublicationRelInfo *pubrinfo; + DumpOptions *dopt = fout->dopt; int i_tableoid; int i_oid; int i_pubname; @@ -3914,7 +3915,7 @@ getPublicationTables(Archive *fout, TableInfo tblinfo[], int numTables) j, ntups; - if (fout->remoteVersion < 100000) + if (dopt->no_publications || fout->remoteVersion < 100000) return; query = createPQExpBuffer(); |