BUG #14629: ALTER TABLE VALIDATE CONSTRAINTS does not obey NO INHERIT clause

From: buschmann(at)nidsa(dot)net
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14629: ALTER TABLE VALIDATE CONSTRAINTS does not obey NO INHERIT clause
Date: 2017-04-21 18:40:12
Message-ID: 20170421184012.24362.19@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

The following bug has been logged on the website:

Bug reference: 14629
Logged by: Hans Buschmann
Email address: buschmann(at)nidsa(dot)net
PostgreSQL version: 9.6.2
Operating system: Windows x64
Description:

Given these both tables (orders_archiv inherits orders) on 9.6.2 Windows
x64
(cut/paste from psql)

xxxdb=# \d orders_archiv;
...
Check constraints:
"ck_or_old" CHECK (or_season < 24) NO INHERIT
Inherits: orders

xxxdb=# \d orders
...
Check constraints:
"ck_or_new" CHECK (or_season >= 24) NO INHERIT NOT VALID
Triggers:
tr_orders_insert BEFORE INSERT ON orders FOR EACH ROW WHEN
(new.or_season < 24) EXECUTE PROCEDURE fn_orders_insert()
Number of child tables: 1 (Use \d+ to list them.)

When applying these commands to the parent table, the following errors are
returned:

xxxdb=# alter table orders validate constraint ck_or_new;
ERROR: constraint "ck_or_new" of relation "orders_archiv" does not exist

xxxdb=# alter table only orders validate constraint ck_or_new;
ERROR: constraint must be validated on child tables too

Background:
From our original partitioning of quite a lot of tables according to
xx_season columns (a season is a half year period) I dropped and recreated
the check constraintsin a not valid state.

At the end of the script to move the data from 2 seasons into the archiv
tables I tried to reenable the check constraints and encountered those two
errors.

It seems that I can circumvent these errors by recreating the constraints
without the not valid clause.

Do I miss something here ?

Hans Buschmann

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David G. Johnston 2017-04-22 17:32:59 Re: BUG #14626: array_agg( anyarray ) unexpected error with multi-valued single-dimension array
Previous Message Irina Mileva 2017-04-21 17:44:01 Re: ON CONFLICT issie detected

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2017-04-21 18:47:46 Missing feature in Phrase Search?
Previous Message Andres Freund 2017-04-21 18:40:06 Re: Unportable implementation of background worker start