For det første er der ingen AutoCommit-tilstand i PostgreSQL, og pg_*-funktionerne i PHP API forsøger ikke at efterligne en.
pg_querys dokument siger
Så det garanterer, at pg_query("UPDATE1 ..; UPDATE2...")
udføres i én transaktion og har en alt-eller-intet effekt på dataene.
Sekvensen
pg_query("BEGIN");
pg_query("UPDATE1...");
pg_query("UPDATE2..");
pg_query("COMMIT");
svarer til pg_query("UPDATE1 ..; UPDATE2...")
med hensyn til dataintegritet (halvfærdig tilstand kan ikke ske).
Hvad angår noten "medmindre der er eksplicit BEGIN/COMMIT...", er den kun relevant, hvis disse ikke er i begyndelsen og slutningen af hele kæden af SQL-sætninger. Det vil sige pg_query("BEGIN; update1; update2; COMMIT;");
svarer til pg_query("update1; update2;")
men (naturligvis) ikke svarer til pg_query("update1; COMMIT; update2;")