Обсуждение: CHECK constraints - order of evaluation
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/9.6/ddl-constraints.html Description: I think the information about the "order of execution" when checking CHECK constraints when inserting or updating records is missing in the documentation. There seems to be an old e-mail thread on the topic, however, there is no information on whether the patch submitted was already merged and if so, in which version of PostgreSQL. I also suggest it would be good to point out in the documentation how the order of CHECK constraints is created when there are more column CHECK constraints and table CHECK constraints (i.e. in mixed cases) or whether only the name of the constraint is relevant when it comes to it, not its type (column/table). Thank you very much in advance. Kindest regards, Ľudovít
On Thu, May 14, 2020 at 2:30 AM PG Doc comments form <noreply@postgresql.org> wrote:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/9.6/ddl-constraints.html
Description:
I think the information about the "order of execution" when checking CHECK
constraints when inserting or updating records is missing in the
documentation.
Check constraints require immutable functions and do not have side effects. The order of their execution is immaterial and thus not documented. The server is free to do whatever it wishes whenever it wishes and users should not depend on any specific observed order in their usage (I don't believe we actually say to avoid depending upon undocumented behavior but that is the general guideline or working with systems).
David J.