Re: unlogged sequences
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>,
"David G. Johnston" <david.g.johnston@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-04-01T16:31:26Z
Lists: pgsql-hackers
On 01.04.22 18:22, Peter Eisentraut wrote: > > On 01.04.22 00:43, Tomas Vondra wrote: >> Hmm, so what about doing a little bit different thing: >> >> 1) owned sequences inherit persistence of the table by default >> >> 2) allow ALTER SEQUENCE to change persistence for all sequences (no >> restriction for owned sequences) >> >> 3) ALTER TABLE ... SET [UN]LOGGED changes persistence for sequences >> matching the initial table persistence > > Consider that an identity sequence creates an "internal" dependency and > a serial sequence creates an "auto" dependency. > > An "internal" dependency means that the internal object shouldn't really > be operated on directly. (In some cases it's allowed for convenience.) > So I think in that case the sequence must follow the table's persistence > in all cases. This is accomplished by setting the initial persistence > to the table's, making ALTER TABLE propagate persistence changes, and > prohibiting direct ALTER SEQUENCE SET. But to make pg_upgrade work for identity sequences of unlogged tables, we need to allow ALTER SEQUENCE ... SET LOGGED on such sequences. Which I guess is not a real problem in the end.
Commits
-
Unlogged sequences
- 344d62fb9a97 15.0 landed
-
Preparatory test cleanup
- ae63017bdb31 15.0 landed