> 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.