The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/17/sql-createdomain.html Description:
The manual claims: The syntax NOT NULL in this command is a PostgreSQL extension. (A standard-conforming way to write the same would be CHECK (VALUE IS NOT NULL). […]) But both variants differ when composite types are involved: CREATE TYPE complex AS (real float8, imag float8); CREATE DOMAIN d1 AS complex NOT NULL; CREATE DOMAIN d2 AS complex CHECK (VALUE IS NOT NULL); SELECT '(,)'::d1; -- allowed SELECT '(,)'::d2; -- not allowed Kind Regards, Jan Behrens