What You Should Know About Constraints in PostgreSQL (and What’s New in 18
summary
PostgreSQL 18 makes NOT NULL a first‑class, named NOT NULL constraint stored in pg_constraint, adds NOT ENFORCED flags for CHECK and foreign keys so constraints can exist unvalidated (no trigger/indexes until enforced), and implements temporal keys via WITHOUT OVERLAPS for PRIMARY/UNIQUE using range/multirange (GIST-backed), plus per‑partition validation and ALTER CONSTRAINT ... [NO] INHERIT control. Collation rules now require deterministic or matching nondeterministic collations for key relations.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:09What is a constraint
- 8:34Constraint triggers
- 12:06Domain constraints
- 15:37Temporal database support
- 22:10Temporal keys in PostgreSQL 18
- 27:42Not enforced constraints
- 32:18Not null as a constraint
- 35:46Partition table improvements
- 36:49Parent constraint removal
- 37:53Q&A
related talks
41mWhat you should know about constraints in PostgreSQL 18
27mWhat's new with constraints in Postgres 18
49mPostgreSQL vs The Standard
30mLesser known features of PostgreSQL
32mEnhancing Security in PostgreSQL
37mCommon Possible Preventative Measures to Avoid Locking Issue in PostgreSQL
26mDemystifying Postgres Foreign Key Constraints on Citus
53mBreakout Session
