On Tue, Sep 15, 2020 at 10:47 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > Amit Langote <amitlangot...@gmail.com> writes: > > On Tue, Sep 15, 2020 at 9:09 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > >> I wrote a quick patch for this part. It seems pretty safe and probably > >> could be back-patched without fear. > > > The patch's theory that if the parent column has NOT NULL set then it > > must be set in child tables too does not actually hold for plain > > inheritance cases, because as shown above, NOT NULL can be dropped in > > children independently of the parent. > > Ah, right. That seems like a bug but we have not attempted to fix it.
IIRC, when this behavior was brought up as a bug in past discussions, it was decided that it will be fixed when NOT NULL constraints are represented using pg_constraint entries. > But we could restrict the optimization to partitioned tables, where > the assumption does hold, no? Yeah, seems safe in their case. -- Amit Langote EnterpriseDB: http://www.enterprisedb.com