2023年2月19日(日) 9:51 Christophe Pettus <x...@thebuild.com>: > > > > > On Feb 18, 2023, at 15:49, Bryn Llewellyn <b...@yugabyte.com> wrote: > > > > I’ve searched in vain for an account of how "autocommit" mode actually > > works. > > I realize now I may have misinterpreted your question... apologies if so! If > you mean the BEGIN and COMMIT statement that some client libraries insert > into the stream when autocommit is off, that's the client, not PostgreSQL. > > PostgreSQL has no idea that mode even exists: it either sees statements > without transactions, which run in their own transaction, or BEGIN / COMMIT > statements. Because client stacks have traditionally loved to provide their > own transaction semantics, they might inject BEGIN and COMMIT statements, but > that's not something PostgreSQL sees.
Historical trivia: PostgreSQL had a (backend) "autocommit" GUC in 7.3 only, which remained as a dummy GUC until 9.5 (see: https://pgpedia.info/a/autocommit.html ). Regards Ian Barwick