Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 5c1b004

Browse files
committed
Fixed but in _enableTriggersIfNecessary introduced by previous patches by me
which caused segfault in a data-only retore with BLOBs
1 parent fd5bac6 commit 5c1b004

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/bin/pg_dump/pg_backup_archiver.c

+8-1
Original file line numberDiff line numberDiff line change
@@ -471,10 +471,17 @@ static void _enableTriggersIfNecessary(ArchiveHandle *AH, TocEntry *te, RestoreO
471471
* command when one is available.
472472
*/
473473
ahprintf(AH, "-- Enable triggers\n");
474-
ahprintf(AH, "UPDATE pg_class SET reltriggers = "
474+
if (te && te->name && strlen(te->name) > 0)
475+
{
476+
ahprintf(AH, "UPDATE pg_class SET reltriggers = "
475477
"(SELECT count(*) FROM pg_trigger where pg_class.oid = tgrelid) "
476478
"WHERE relname = '%s';\n\n",
477479
te->name);
480+
} else {
481+
ahprintf(AH, "UPDATE \"pg_class\" SET \"reltriggers\" = "
482+
"(SELECT count(*) FROM pg_trigger where pg_class.oid = tgrelid) "
483+
"WHERE \"relname\" !~ '^pg_';\n\n");
484+
}
478485

479486
/*
480487
* Restore the user connection from the start of this procedure

0 commit comments

Comments
 (0)