On Wed, Nov 9, 2022 at 6:16 PM Wael Khobalatte <wael@xxxxxxxxx> wrote:
> I've noticed serials still maintain incremented values even when a transaction is rolled back. Are there other similar persistent changes to be aware of?
Postgres sequences (what backs the serial type) are non-transactional. nextval, setval, et al. Truncate is also non-transactional.
Truncate is transactional, it is not MVCC compliant though.
Writing data out to file on the filesystem, using dblink and opening a new session in a different database and doing work there are both case where the actions cross the system boundary that the transaction is able to control.
David J.