hi. I found for foreign keys, check constraints, you specify it as NOT VALID, it will not be marked as NOT VALID in the CREATE TABLE statement.
CREATE TABLE s6(id bigint , CONSTRAINT con1 check(id > 1) not valid); src2=# \d s6 Table "public.s6" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+--------- id | bigint | | | Check constraints: "con1" CHECK (id > 1) create table pk (a int, primary key(a)); create table fk (a int, b int, foreign key(a) references pk( a) not valid); Table "public.fk" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | b | integer | | | Foreign-key constraints: "fk_a_fkey" FOREIGN KEY (a) REFERENCES pk(a) reading transformCheckConstraints, transformFKConstraints comments appearingly this is intentional? If so, do we need to document the keywords "NOT VALID" in create_table.sgml synopsis section?