pgsql: Unlogged sequences

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Unlogged sequences
Date: 2022-04-07 14:24:42
Message-ID: E1ncT3x-000kQ2-My@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Unlogged sequences

Add support for unlogged sequences. Unlike for unlogged tables, this
is not a performance feature. It allows sequences associated with
unlogged tables to be excluded from replication.

A new subcommand ALTER SEQUENCE ... SET LOGGED/UNLOGGED is added.

An identity/serial sequence now automatically gets and follows the
persistence level (logged/unlogged) of its owning table. (The
sequences owned by temporary tables were already temporary through the
separate mechanism in RangeVarAdjustRelationPersistence().) But you
can still change the persistence of an owned sequence separately.
Also, pg_dump and pg_upgrade preserve the persistence of existing
sequences.

Discussion: https://www.postgresql.org/message-id/flat/04e12818-2f98-257c-b926-2845d74ed04f%402ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/344d62fb9a978a72cf8347f0369b9ee643fd0b31

Modified Files
--------------
doc/src/sgml/ref/alter_sequence.sgml | 12 ++++++
doc/src/sgml/ref/alter_table.sgml | 6 +++
doc/src/sgml/ref/create_sequence.sgml | 23 ++++++++++-
doc/src/sgml/ref/create_table.sgml | 5 +++
doc/src/sgml/ref/pg_dump.sgml | 7 ++--
src/backend/commands/sequence.c | 58 ++++++++++++++++++++++++----
src/backend/commands/tablecmds.c | 32 ++++++++++++++--
src/backend/parser/parse_utilcmd.c | 1 +
src/bin/pg_dump/pg_dump.c | 15 +++++++-
src/bin/psql/describe.c | 8 +++-
src/bin/psql/tab-complete.c | 5 ++-
src/include/commands/sequence.h | 1 +
src/test/recovery/t/014_unlogged_reinit.pl | 61 +++++++++++++++++++++++++++---
src/test/regress/expected/alter_table.out | 4 +-
src/test/regress/expected/sequence.out | 20 +++++++++-
src/test/regress/sql/sequence.sql | 10 ++++-
16 files changed, 237 insertions(+), 31 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2022-04-07 15:19:15 Re: API stability [was: pgsql: Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.]
Previous Message Robert Haas 2022-04-07 14:04:20 Re: API stability [was: pgsql: Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.]