Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode?
От | Ian Lawrence Barwick |
---|---|
Тема | Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode? |
Дата | |
Msg-id | CAB8KJ=gVega6nUg-HutiinEyR2LU-5qm6PQKBOmkn0ozD6MroA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode? (Christophe Pettus <xof@thebuild.com>) |
Ответы |
Re: Who adds the "start transaction" and "commit" to the intended SQL statement in "autocommit" mode?
|
Список | pgsql-general |
2023年2月19日(日) 9:51 Christophe Pettus <xof@thebuild.com>: > > > > > On Feb 18, 2023, at 15:49, Bryn Llewellyn <bryn@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 thatsome 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 transactionsemantics, 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
В списке pgsql-general по дате отправления: