]> granicus.if.org Git - postgresql/commitdiff
Fix pg_upgrade to handle event triggers in extensions correctly.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Aug 2018 19:43:48 +0000 (15:43 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Aug 2018 19:43:48 +0000 (15:43 -0400)
pg_dump with --binary-upgrade must emit ALTER EXTENSION ADD commands
for all objects that are members of extensions.  It forgot to do so for
event triggers, as per bug #15310 from Nick Barnes.  Back-patch to 9.3
where event triggers were introduced.

Haribabu Kommi

Discussion: https://postgr.es/m/153360083872.1395.4593932457718151600@wrigleys.postgresql.org

src/bin/pg_dump/pg_dump.c

index 20e8aedb1913fa6012fac1d57883a96408d7894d..9baf7b2fded1367d1e60c2512b2196b4d178245c 100644 (file)
@@ -17302,6 +17302,10 @@ dumpEventTrigger(Archive *fout, EventTriggerInfo *evtinfo)
        appendPQExpBuffer(delqry, "DROP EVENT TRIGGER %s;\n",
                                          qevtname);
 
+       if (dopt->binary_upgrade)
+               binary_upgrade_extension_member(query, &evtinfo->dobj,
+                                                                               "EVENT TRIGGER", qevtname, NULL);
+
        if (evtinfo->dobj.dump & DUMP_COMPONENT_DEFINITION)
                ArchiveEntry(fout, evtinfo->dobj.catId, evtinfo->dobj.dumpId,
                                         evtinfo->dobj.name, NULL, NULL,