Subject: pgsql: Fix propagation of persistence to sequences in ALTER TABLE / ADD

From: Peter Eisentraut <[email-masked]>
Date: Fri, 09 Feb 2024 07:18:18 +0000

Fix propagation of persistence to sequences in ALTER TABLE / ADD COLUMN

Fix for 344d62fb9a9: That commit introduced unlogged sequences and
made it so that identity/serial sequences automatically get the
persistence level of their owning table.  But this works only for
CREATE TABLE and not for ALTER TABLE / ADD COLUMN.  The latter would
always create the sequence as logged (default), independent of the
persistence setting of the table.  This is fixed here.

Note: It is allowed to change the persistence of identity sequences
directly using ALTER SEQUENCE.  So mistakes in existing databases can
be fixed manually.

Reviewed-by: Ashutosh Bapat <[email-masked]>
Discussion: https://www.postgresql.org/message-id/flat/c4b6e2ed-bcdf-4ea7-965f-e49761094827%40eisentraut.org

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/86d2b434c9a3520a10db4feae236b74452d3d157

Modified Files
--------------
src/backend/parser/parse_utilcmd.c     | 11 +++++-
src/test/regress/expected/identity.out | 72 ++++++++++++++++++++++++++++++++++
src/test/regress/sql/identity.sql      | 18 +++++++++
3 files changed, 100 insertions(+), 1 deletion(-)