Fix oversight in pg_dump's handling of extension configuration tables.

If an extension has not been selected to be dumped (perhaps because of
a --schema or --table switch), the contents of its configuration tables
surely should not get dumped either.  Per gripe from
Hubert Depesz Lubaczewski.
REL9_1_STABLE
Tom Lane 14 years ago
parent e565eff45a
commit dd4e0a3878
  1. 9
      src/bin/pg_dump/pg_dump.c

@ -13794,13 +13794,18 @@ getExtensionMembership(ExtensionInfo extinfo[], int numExtensions)
*/
for (i = 0; i < numExtensions; i++)
{
char *extconfig = extinfo[i].extconfig;
char *extcondition = extinfo[i].extcondition;
ExtensionInfo *curext = &(extinfo[i]);
char *extconfig = curext->extconfig;
char *extcondition = curext->extcondition;
char **extconfigarray = NULL;
char **extconditionarray = NULL;
int nconfigitems;
int nconditionitems;
/* Tables of not-to-be-dumped extensions shouldn't be dumped */
if (!curext->dobj.dump)
continue;
if (parsePGArray(extconfig, &extconfigarray, &nconfigitems) &&
parsePGArray(extcondition, &extconditionarray, &nconditionitems) &&
nconfigitems == nconditionitems)

Loading…
Cancel
Save