diff options
Diffstat (limited to 'src/bin/pg_dump/pg_backup_archiver.h')
-rw-r--r-- | src/bin/pg_dump/pg_backup_archiver.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/bin/pg_dump/pg_backup_archiver.h b/src/bin/pg_dump/pg_backup_archiver.h index db13507b470..aca03381ddd 100644 --- a/src/bin/pg_dump/pg_backup_archiver.h +++ b/src/bin/pg_dump/pg_backup_archiver.h @@ -211,10 +211,14 @@ typedef enum * data restore failures. On the other hand, matview REFRESH commands should * come out after ACLs, as otherwise non-superuser-owned matviews might not * be able to execute. (If the permissions at the time of dumping would not - * allow a REFRESH, too bad; we won't fix that for you.) These considerations - * force us to make three passes over the TOC, restoring the appropriate - * subset of items in each pass. We assume that the dependency sort resulted - * in an appropriate ordering of items within each subset. + * allow a REFRESH, too bad; we won't fix that for you.) We also want event + * triggers to be restored after ACLs, so that they can't mess those up. + * + * These considerations force us to make three passes over the TOC, + * restoring the appropriate subset of items in each pass. We assume that + * the dependency sort resulted in an appropriate ordering of items within + * each subset. + * * XXX This mechanism should be superseded by tracking dependencies on ACLs * properly; but we'll still need it for old dump files even after that. */ @@ -222,9 +226,9 @@ typedef enum { RESTORE_PASS_MAIN = 0, /* Main pass (most TOC item types) */ RESTORE_PASS_ACL, /* ACL item types */ - RESTORE_PASS_REFRESH /* Matview REFRESH items */ + RESTORE_PASS_POST_ACL /* Event trigger and matview refresh items */ -#define RESTORE_PASS_LAST RESTORE_PASS_REFRESH +#define RESTORE_PASS_LAST RESTORE_PASS_POST_ACL } RestorePass; typedef enum |