pgsql: Fix dumping of matviews with indirect dependencies on primaryke
От | Tom Lane |
---|---|
Тема | pgsql: Fix dumping of matviews with indirect dependencies on primaryke |
Дата | |
Msg-id | E1gqmbI-0003Am-FK@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix dumping of matviews with indirect dependencies on primary keys. Commit 62215de29 turns out to have been not quite on-the-mark. When we are forced to postpone dumping of a materialized view into the dump's post-data section (because it depends on a unique index that isn't created till that section), we may also have to postpone dumping other matviews that depend on said matview. The previous fix didn't reliably work for such cases: it'd break the dependency loops properly, producing a workable object ordering, but it didn't necessarily mark all the matviews as "postponed_def". This led to harmless bleating about "archive items not in correct section order", as reported by Tom Cassidy in bug #15602. Less harmlessly, selective-restore options such as --section might misbehave due to the matview dump objects not being properly labeled. The right way to fix it is to consider that each pre-data dependency we break amounts to moving the no-longer-dependent object into post-data, and hence we should mark that object if it's a matview. Back-patch to all supported versions, since the issue's been there since matviews were introduced. Discussion: https://postgr.es/m/15602-e895445f73dc450b@postgresql.org Branch ------ REL_10_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/dc42602f1f6d78197b72db2fac354361506d9f21 Modified Files -------------- src/bin/pg_dump/pg_dump_sort.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-)
В списке pgsql-committers по дате отправления: