Re: Not Null Constraint vs Query Planning - Mailing list pgsql-general

From Don Seiler
Subject Re: Not Null Constraint vs Query Planning
Date
Msg-id CAHJZqBDzavGCyY9=rFbR6Bt7WMwOT8wGO4HDwR-Ee4MY+V372Q@mail.gmail.com
Whole thread Raw
In response to Re: Not Null Constraint vs Query Planning  (Vik Fearing <vik@postgresfriends.org>)
Responses Re: Not Null Constraint vs Query Planning  (Vik Fearing <vik@postgresfriends.org>)
List pgsql-general
On Mon, Mar 2, 2020, 12:30 Vik Fearing <vik@postgresfriends.org> wrote:
On 02/03/2020 18:09, Don Seiler wrote:
> The REAL reason for this is that I'm wondering if I created a NOT NULL
> check constraint with "NOT VALID" would that then NOT be considered in such
> a "short-circuit" case until I ran the VALIDATE CONSTRAINT on it? Perhaps I
> should have just asked this in its own thread but I started diving into the
> query plan thing.

You cannot do this because NOT NULL isn't a real constraint (meaning it
does not appear in pg_constraint).  There have been several attempts to
make it a real constraint over the years but so far nothing has come of
them
 
Using the check constraint method seemed to allow for the "not valid" step. I'm curious what the difference is between a NOT NULL check constraint versus setting the column to NOT NULL (assuming both are validated).

Don.

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Detecting which columns a query will modify in a function calledby a trigger
Next
From: Kevin Brannen
Date:
Subject: RE: trouble making PG use my Perl