BUG #16913: GENERATED AS IDENTITY column nullability is affected by order of column properties

The Post Office <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: pavel.boev@invitae.com
Date: 2021-03-04T04:13:59Z
Lists: pgsql-bugs
The following bug has been logged on the website:

Bug reference:      16913
Logged by:          Pavel Boev
Email address:      pavel.boev@invitae.com
PostgreSQL version: 13.2
Operating system:   Debian 8.3.0-6
Description:        

I noticed that nullability of columns having GENERATED AS IDENTITY option is
affected by the order of NULL option, so the next query will create a
"my_table" table having non-nullable column "generated":

create table my_table (
  generated integer null generated by default as identity,
  data text not null
);

Whereas the following query will create a "my_table" table having nullable
column "generated":

create table my_table (
  generated integer generated by default as identity null,
  data text not null
);

I noticed the issue appeared in postgres 13.2, however folks say that they
bug affects versions 10, 11 and 12 as well.

Commits

  1. Doc: correct erroneous entry in this week's minor release notes.

  2. Forbid marking an identity column as nullable.