aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-03-09 19:38:52 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-03-09 19:38:52 +0000
commitb9e8ffcd5d1a3d45b2f697ea944931f56367c86b (patch)
tree3d75c991e5cad6de014b96d40d352a1547907241 /src
parentdd04e958c8b03c0f0512497651678c7816af3198 (diff)
downloadpostgresql-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.c13
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);