create table b (aaa int primary key,bb date ); create table A (id int primary key) inherits (B); alter table a alter column aaa drop not null;
after i made pg_dump and pg_restore the not null contraint isexist on table a;
It does not make sense to exclude a not null constraint on an inherited table because column "aaa" can be null in table "a" but a SELECT in table "b" will return a NULL for a primary key (ugh). It is just one of the ways to shoot yourself in the foot. If you check CREATE TABLE synopsis, there isn't NO INHERIT for not null constraints. Maybe it is worth adding a note in CREATE TABLE.