सबसे पहले, PostgreSQL में कोई AutoCommit मोड नहीं है और PHP API के pg_* फ़ंक्शन किसी एक का अनुकरण करने का प्रयास नहीं करते हैं।
pg_query's doc कहते हैं
तो यह गारंटी देता है कि pg_query("UPDATE1 ..; UPDATE2...")
एक लेन-देन में निष्पादित होता है और डेटा पर सभी या कुछ भी प्रभाव नहीं डालता है।
क्रम
pg_query("BEGIN");
pg_query("UPDATE1...");
pg_query("UPDATE2..");
pg_query("COMMIT");
pg_query("UPDATE1 ..; UPDATE2...")
के बराबर है डेटा अखंडता के संबंध में (अर्ध-अधूरी स्थिति नहीं हो सकती)।
नोट के लिए "जब तक कि स्पष्ट BEGIN/COMMIT..." न हो, यह तभी प्रासंगिक है जब ये SQL कथनों की पूरी श्रृंखला की शुरुआत और अंत में न हों। वह है, pg_query("BEGIN; update1; update2; COMMIT;");
pg_query("update1; update2;")
. के बराबर है लेकिन (जाहिर है) pg_query("update1; COMMIT; update2;")
के बराबर नहीं है