mirror of
https://github.com/postgres/postgres.git
synced 2025-10-22 14:32:25 +03:00
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
This commit is contained in:
@@ -58,6 +58,7 @@ extern List *sequence_options(Oid relid);
|
||||
|
||||
extern ObjectAddress DefineSequence(ParseState *pstate, CreateSeqStmt *stmt);
|
||||
extern ObjectAddress AlterSequence(ParseState *pstate, AlterSeqStmt *stmt);
|
||||
extern void SequenceChangePersistence(Oid relid, char newrelpersistence);
|
||||
extern void DeleteSequenceTuple(Oid relid);
|
||||
extern void ResetSequence(Oid seq_relid);
|
||||
extern void SetSequence(Oid seq_relid, bool transactional, int64 last_value, int64 log_cnt, bool is_called);
|
||||
|
Reference in New Issue
Block a user