From 3001b76308e9189ff471c54b1823621e03dc1359 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 30 May 2011 23:34:34 +0300 Subject: [PATCH] Suppress foreign data wrappers and foreign servers in partial dumps This is consistent with the behavior of other global objects such as languages and extensions. Omitting foreign servers also omits the respective user mappings. --- src/bin/pg_dump/pg_dump.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index f925be1ffa..3781e599c4 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -11180,6 +11180,14 @@ dumpForeignDataWrapper(Archive *fout, FdwInfo *fdwinfo) if (!fdwinfo->dobj.dump || dataOnly) return; + /* + * FDWs that belong to an extension are dumped based on their "dump" field. + * Otherwise omit them if we are only dumping some specific object. + */ + if (!fdwinfo->dobj.ext_member) + if (!include_everything) + return; + q = createPQExpBuffer(); delq = createPQExpBuffer(); labelq = createPQExpBuffer(); @@ -11255,7 +11263,7 @@ dumpForeignServer(Archive *fout, ForeignServerInfo *srvinfo) char *fdwname; /* Skip if not to be dumped */ - if (!srvinfo->dobj.dump || dataOnly) + if (!srvinfo->dobj.dump || dataOnly || !include_everything) return; q = createPQExpBuffer(); -- 2.11.0