PGSQL bug - "Column ??? is an identity column defined as GENERATED ALWAYS.",

Petr Hybler <petr.hybler@gmail.com>

From: Petr Hybler <petr.hybler@gmail.com>
To: pgsql-bugs@lists.postgresql.org
Date: 2021-08-18T15:06:54Z
Lists: pgsql-bugs
Hello, I would love to report a bug for the version:
PostgreSQL 11.13 (Debian 11.13-1.pgdg100+1) on x86_64-pc-linux-gnu,
compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

After the update, I cannot execute batch inserts. See the example below:

The table structure is as follows:

CREATE TABLE sample_table (
    id int8 NOT NULL GENERATED ALWAYS AS IDENTITY,
    name varchar(255) NOT NULL,
    description text NOT NULL,
    CONSTRAINT sample_table_pk PRIMARY KEY (id)
);

When I try to insert a single value, it works OK:

INSERT INTO sample_table (id, name, description)VALUES (DEFAULT, 'John
Doe', 'Test description');

However, when inserting multiple values, it fails:

INSERT INTO sample_table (id, name, description)VALUES (DEFAULT, 'John
Doe', 'Test description')
, (DEFAULT, 'Jane Eod', 'Not working');

Why? If I omit the DEFAULT value and PK (=id), it works great.

INSERT INTO sample_table (name, description)VALUES ('John Doe', 'Test
description')
, ('Jane Eod', 'Not working');

This worked perfectly previously.... I would appreciate if you can fix it
because I cannot do any bulkCreate operation now and I believe there will
be a lot of applications impacted

P.