aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_dump/pg_backup_archiver.c6
-rw-r--r--src/bin/pg_dump/pg_dump.c14
2 files changed, 16 insertions, 4 deletions
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index e7aeff0e096..410071106ae 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -3204,6 +3204,7 @@ _getObjectDescription(PQExpBuffer buf, TocEntry *te, ArchiveHandle *AH)
strcmp(type, "DATABASE") == 0 ||
strcmp(type, "PROCEDURAL LANGUAGE") == 0 ||
strcmp(type, "SCHEMA") == 0 ||
+ strcmp(type, "EVENT TRIGGER") == 0 ||
strcmp(type, "FOREIGN DATA WRAPPER") == 0 ||
strcmp(type, "SERVER") == 0 ||
strcmp(type, "USER MAPPING") == 0)
@@ -3248,7 +3249,7 @@ _getObjectDescription(PQExpBuffer buf, TocEntry *te, ArchiveHandle *AH)
return;
}
- write_msg(modulename, "WARNING: don't know how to set owner for object type %s\n",
+ write_msg(modulename, "WARNING: don't know how to set owner for object type \"%s\"\n",
type);
}
@@ -3407,6 +3408,7 @@ _printTocEntry(ArchiveHandle *AH, TocEntry *te, bool isData, bool acl_pass)
strcmp(te->desc, "OPERATOR FAMILY") == 0 ||
strcmp(te->desc, "PROCEDURAL LANGUAGE") == 0 ||
strcmp(te->desc, "SCHEMA") == 0 ||
+ strcmp(te->desc, "EVENT TRIGGER") == 0 ||
strcmp(te->desc, "TABLE") == 0 ||
strcmp(te->desc, "TYPE") == 0 ||
strcmp(te->desc, "VIEW") == 0 ||
@@ -3442,7 +3444,7 @@ _printTocEntry(ArchiveHandle *AH, TocEntry *te, bool isData, bool acl_pass)
}
else
{
- write_msg(modulename, "WARNING: don't know how to set owner for object type %s\n",
+ write_msg(modulename, "WARNING: don't know how to set owner for object type \"%s\"\n",
te->desc);
}
}
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index db99412607f..a0206274a45 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -15536,6 +15536,7 @@ dumpEventTrigger(Archive *fout, EventTriggerInfo *evtinfo)
{
DumpOptions *dopt = fout->dopt;
PQExpBuffer query;
+ PQExpBuffer delqry;
PQExpBuffer labelq;
/* Skip if not to be dumped */
@@ -15543,6 +15544,7 @@ dumpEventTrigger(Archive *fout, EventTriggerInfo *evtinfo)
return;
query = createPQExpBuffer();
+ delqry = createPQExpBuffer();
labelq = createPQExpBuffer();
appendPQExpBufferStr(query, "CREATE EVENT TRIGGER ");
@@ -15582,19 +15584,27 @@ dumpEventTrigger(Archive *fout, EventTriggerInfo *evtinfo)
}
appendPQExpBufferStr(query, ";\n");
}
+
+ appendPQExpBuffer(delqry, "DROP EVENT TRIGGER %s;\n",
+ fmtId(evtinfo->dobj.name));
+
appendPQExpBuffer(labelq, "EVENT TRIGGER %s",
fmtId(evtinfo->dobj.name));
ArchiveEntry(fout, evtinfo->dobj.catId, evtinfo->dobj.dumpId,
- evtinfo->dobj.name, NULL, NULL, evtinfo->evtowner, false,
+ evtinfo->dobj.name, NULL, NULL,
+ evtinfo->evtowner, false,
"EVENT TRIGGER", SECTION_POST_DATA,
- query->data, "", NULL, NULL, 0, NULL, NULL);
+ query->data, delqry->data, NULL,
+ NULL, 0,
+ NULL, NULL);
dumpComment(fout, labelq->data,
NULL, evtinfo->evtowner,
evtinfo->dobj.catId, 0, evtinfo->dobj.dumpId);
destroyPQExpBuffer(query);
+ destroyPQExpBuffer(delqry);
destroyPQExpBuffer(labelq);
}