On Tue, Apr 12, 2022 at 08:00:35AM -0400, Mladen Gogala wrote: > On 4/12/22 02:31, Holger Jakobs wrote: > > What you write about psql sending a COMMIT statement after each > > statement is wrong. It may be true for other database systems. > > > > PostgreSQL as a server commits each statement automatically unless the > > client has started a transaction with BEGIN or START TRANSACTION > > statements. > > > > This can be proved easily by not using psql as a client, but some > > programming language. > > > > Regards, > > If what you are saying was true, then autocommit would be a database mode, > not a tool mode. It isn't a database mode. Q.E.D. That's actually mostly true. Postgres will start an implicit transaction for every query (or multiple queries) outside a transaction and will implicitly commit it after a successful execution. The only difference is there you won't see a BEGIN / COMMIT anywhere, but the same underlying code will be executed.