diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index afbdcadb0a2e458835bb65229d641797df3401aa..49389a8c5edda7cde1b23deb007a44c0b42d6417 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -34,6 +34,9 @@ * * - Check results of IO routines more carefully. * + * Modifications - 27-Jan-2001 - pjw@rhyme.com.au + * - When dropping the schema, reconnect as owner of each object. + * *------------------------------------------------------------------------- */ @@ -180,6 +183,9 @@ void RestoreArchive(Archive* AHX, RestoreOptions *ropt) reqs = _tocEntryRequired(te, ropt); if ( ( (reqs & 1) != 0) && te->dropStmt) { /* We want the schema */ ahlog(AH, 1, "Dropping %s %s\n", te->desc, te->name); + /* Reconnect if necessary */ + _reconnectAsOwner(AH, "-", te); + /* Drop it */ ahprintf(AH, "%s", te->dropStmt); } te = te->prev; diff --git a/src/bin/pg_dump/pg_backup_archiver.h b/src/bin/pg_dump/pg_backup_archiver.h index 0808af32c81adcbb925fa02ded4a3576f8065f79..583ab8dac738dffc4fb83cb53d4da1b95d79bbd1 100644 --- a/src/bin/pg_dump/pg_backup_archiver.h +++ b/src/bin/pg_dump/pg_backup_archiver.h @@ -62,7 +62,7 @@ typedef z_stream *z_streamp; #define K_VERS_MAJOR 1 #define K_VERS_MINOR 4 -#define K_VERS_REV 24 +#define K_VERS_REV 25 /* Data block types */ #define BLK_DATA 1