> so the spec does clearly say that both alternatives force NOT NULL.
For what it's worth, it's odd to disallow nullable columns which are also GENERATED BY DEFAULT AS IDENTITY - unless I'm missing something, it seems like quite an artificial restriction for a legitimate scenario. After all, we can do:
CREATE SEQUENCE foo_seq AS integer; CREATE TABLE foo ( bar INTEGER NULL DEFAULT nextval('foo_seq') );
... which is logically very similar, and definitely seems useful. Would it make sense to allow nullable GENERATED BY DEFAULT AS IDENTITY as a PG extension?