diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2015-10-01 16:19:49 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2015-10-01 16:20:15 -0400 |
commit | 5ea47e8f2a7d524eb491b1ffffbc98a012745409 (patch) | |
tree | 0e26a5f1256ca4af8d6a5338604f228357f56ad2 /src/bin/pg_dump/pg_dump.c | |
parent | a742ef86c228d8a0e9d174c651cfc4f96ac77e61 (diff) | |
download | postgresql-5ea47e8f2a7d524eb491b1ffffbc98a012745409.tar.gz postgresql-5ea47e8f2a7d524eb491b1ffffbc98a012745409.zip |
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.
Diffstat (limited to 'src/bin/pg_dump/pg_dump.c')
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index b33bdc391ed..aff7b9d9811 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -14713,8 +14713,8 @@ dumpConstraint(Archive *fout, DumpOptions *dopt, ConstraintInfo *coninfo) { /* CHECK constraint on a table */ - /* Ignore if not to be dumped separately */ - if (coninfo->separate) + /* Ignore if not to be dumped separately, or if it was inherited */ + if (coninfo->separate && coninfo->conislocal) { /* not ONLY since we want it to propagate to children */ appendPQExpBuffer(q, "ALTER TABLE %s\n", |