diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2011-05-30 23:34:34 +0300 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2011-05-30 23:34:34 +0300 |
commit | 3001b76308e9189ff471c54b1823621e03dc1359 (patch) | |
tree | 438ac3fbc62091adc70cccddc8b1db98953821bc | |
parent | 2367da886d4ab903c7bf5037b363ca10489cdf85 (diff) | |
download | postgresql-3001b76308e9189ff471c54b1823621e03dc1359.tar.gz postgresql-3001b76308e9189ff471c54b1823621e03dc1359.zip |
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.
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index f925be1ffaf..3781e599c4f 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(); |