mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Fix pg_dump to handle inherited NOT VALID check constraints correctly.
This case seems to have been overlooked when unvalidated check constraints were introduced, in 9.2. The code would attempt to dump such constraints over again for each child table, even though adding them to the parent table is sufficient. In 9.2 and 9.3, also fix contrib/pg_upgrade/Makefile so that the "make clean" target fully cleans up after a failed test. This evidently got dealt with at some point in 9.4, but it wasn't back-patched. I ran into it while testing this fix ... Per bug #13656 from Ingmar Brouns.
This commit is contained in:
@ -340,6 +340,10 @@ explain (costs off) select * from nv_parent where d between '2009-08-01'::date a
|
||||
alter table nv_child_2011 VALIDATE CONSTRAINT nv_child_2011_d_check;
|
||||
explain (costs off) select * from nv_parent where d between '2009-08-01'::date and '2009-08-31'::date;
|
||||
|
||||
-- add an inherited NOT VALID constraint
|
||||
alter table nv_parent add check (d between '2001-01-01'::date and '2099-12-31'::date) not valid;
|
||||
\d nv_child_2009
|
||||
-- we leave nv_parent and children around to help test pg_dump logic
|
||||
|
||||
-- Foreign key adding test with mixed types
|
||||
|
||||
|
Reference in New Issue
Block a user