pgsql: Make pg_dump emit ATTACH PARTITION instead of PARTITION OF(repr
От | Alvaro Herrera |
---|---|
Тема | pgsql: Make pg_dump emit ATTACH PARTITION instead of PARTITION OF(repr |
Дата | |
Msg-id | E1haTEy-00053F-KT@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Make pg_dump emit ATTACH PARTITION instead of PARTITION OF (reprise) Using PARTITION OF can result in column ordering being changed from the database being dumped, if the partition uses a column layout different from the parent's. It's not pg_dump's job to editorialize on table definitions, so this is not acceptable; back-patch all the way back to pg10, where partitioned tables where introduced. This change also ensures that partitions end up in the correct tablespace, if different from the parent's; this is an oversight in ca4103025dfe (in pg12 only). Partitioned indexes (in pg11) don't have this problem, because they're already created as independent indexes and attached to their parents afterwards. This change also has the advantage that the partition is restorable from the dump (as a standalone table) even if its parent table isn't restored. The original commits (3b23552ad8bb in branch master) failed to cover subsidiary column elements correctly, such as NOT NULL constraint and CHECK constraints, as reported by Rushabh Lathia (initially as a failure to restore serial columns). They were reverted. This recapitulation commit fixes those problems. Add some pg_dump tests to verify these things more exhaustively, including constraints with legacy-inheritance tables, which were not tested originally. In branches 10 and 11, add a local constraint to the pg_dump test partition that was added by commit 2d7eeb1b1492 to master. Author: Álvaro Herrera, David Rowley Reviewed-by: Álvaro Herrera Discussion: https://postgr.es/m/CAKJS1f_1c260nOt_vBJ067AZ3JXptXVRohDVMLEBmudX1YEx-A@mail.gmail.com Discussion: https://postgr.es/m/20190423185007.GA27954@alvherre.pgsql Discussion: https://postgr.es/m/CAGPqQf0iQV=PPOv2Btog9J9AwOQp6HmuVd6SbGTR_v3Zp2XT1w@mail.gmail.com Branch ------ REL_11_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/6a781c4f5fecc5cde5444459f4cd187872487bda Modified Files -------------- src/bin/pg_dump/pg_dump.c | 158 +++++++++++++++++++-------------------- src/bin/pg_dump/t/002_pg_dump.pl | 78 +++++++++++++++---- 2 files changed, 143 insertions(+), 93 deletions(-)
В списке pgsql-committers по дате отправления: