diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-09 19:38:52 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-09 19:38:52 +0000 |
commit | b9e8ffcd5d1a3d45b2f697ea944931f56367c86b (patch) | |
tree | 3d75c991e5cad6de014b96d40d352a1547907241 /src | |
parent | dd04e958c8b03c0f0512497651678c7816af3198 (diff) | |
download | postgresql-b9e8ffcd5d1a3d45b2f697ea944931f56367c86b.tar.gz postgresql-b9e8ffcd5d1a3d45b2f697ea944931f56367c86b.zip |
pg_restore failed to restore blobs if -X disable-triggers is specified.
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_dump/pg_backup_archiver.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index 08666584299..d91f630b709 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -15,7 +15,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.68 2003/02/14 19:40:42 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.69 2003/03/09 19:38:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -294,7 +294,8 @@ RestoreArchive(Archive *AHX, RestoreOptions *ropt) * Maybe we can't do BLOBS, so check if this node is * for BLOBS */ - if ((strcmp(te->desc, "BLOBS") == 0) && !_canRestoreBlobs(AH)) + if ((strcmp(te->desc, "BLOBS") == 0) && + !_canRestoreBlobs(AH)) { ahprintf(AH, "--\n-- SKIPPED \n--\n\n"); @@ -446,6 +447,10 @@ _disableTriggersIfNecessary(ArchiveHandle *AH, TocEntry *te, RestoreOptions *rop if (!ropt->dataOnly || !ropt->disable_triggers) return; + /* Don't do it for the BLOBS TocEntry, either */ + if (te && strcmp(te->desc, "BLOBS") == 0) + return; + oldUser = strdup(AH->currUser); oldSchema = strdup(AH->currSchema); @@ -509,6 +514,10 @@ _enableTriggersIfNecessary(ArchiveHandle *AH, TocEntry *te, RestoreOptions *ropt if (!ropt->dataOnly || !ropt->disable_triggers) return; + /* Don't do it for the BLOBS TocEntry, either */ + if (te && strcmp(te->desc, "BLOBS") == 0) + return; + oldUser = strdup(AH->currUser); oldSchema = strdup(AH->currSchema); |