Re: Check constraints do not seem to be working!!!

From: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
To: Jitendra Loyal <jitendra(dot)loyal(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Check constraints do not seem to be working!!!
Date: 2020-11-11 08:48:36
Message-ID: CANNMO+L_8KePx6Svj2kFOd1RHnWZTMy7_-KXq+sJDHLM8gPinw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Nov 11, 2020 at 12:26 AM Jitendra Loyal <jitendra(dot)loyal(at)gmail(dot)com>
wrote:

> Despite the above two constraints, the following rows get into the table:
> insert into t (b , c) values (null, true), (null, false);
>

This behavior is described in the docs
https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-CHECK-CONSTRAINTS
:

> It should be noted that a check constraint is satisfied if the check
expression evaluates to true or the null value. Since most expressions will
evaluate to the null value if any operand is null, they will not prevent
null values in the constrained columns. To ensure that a column does not
contain null values, the not-null constraint described in the next section
can be used.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jitendra Loyal 2020-11-11 09:06:32 Re: Check constraints do not seem to be working!!!
Previous Message Pavel Stehule 2020-11-11 08:41:30 Re: Check constraints do not seem to be working!!!