Re: CHECK Constraint Deferrable

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: CHECK Constraint Deferrable
Дата
Msg-id CAKFQuwYXSqC-fe6s+HyNYTaTk_Vqw5xfd7UosMFqCwjSs6usrg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: CHECK Constraint Deferrable  (Andreas Joseph Krogh <andreas@visena.com>)
Ответы Re: CHECK Constraint Deferrable  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On Monday, October 2, 2023, Andreas Joseph Krogh <andreas@visena.com> wrote:
På fredag 07. juli 2023 kl. 13:50:44, skrev Dilip Kumar <dilipbalaut@gmail.com>:
On Wed, Jul 5, 2023 at 3:08 PM Himanshu Upadhyaya
<upadhyaya.himanshu@gmail.com> wrote:
>
> Hi,
>
> Currently, there is no support for CHECK constraint DEFERRABLE in a create table statement.
> SQL standard specifies that CHECK constraint can be defined as DEFERRABLE.

I think this is a valid argument that this is part of SQL standard so
it would be good addition to PostgreSQL.  So +1 for the feature.

But I am wondering whether there are some real-world use cases for
deferred CHECK/NOT NULL constraints?  I mean like for foreign key
constraints if there is a cyclic dependency between two tables then
deferring the constraint is the simplest way to insert without error.

 

The real-world use case, at least for me, is when using an ORM. For large object-graphs ORMs have a tendency to INSERT first with NULLs then UPDATE the “NOT NULLs” later.

“Rewrite the ORM” is not an option for most of us…

Between this and Vik comment it sounds like we should probably require a patch in this area to solve both the not null and check constraint deferral omissions then, not just one of them (alternatively, let’s solve the not null one first).

David J.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Daniel Gustafsson
Дата:
Сообщение: Re: On login trigger: take three
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Modernize const handling with readline