Jika terjadi kesalahan, PostgreSQL sebenarnya tidak mengembalikan transaksi. Itu gagal setiap pernyataan berikutnya dengan kesalahan. Anda dapat mencobanya di klien.
Anda perlu menjalankan rollback sebelum pernyataan apa pun dapat dieksekusi dengan sukses.
Jika Anda menutup koneksi dan memulai yang baru, konsekuensinya kecil. Namun, jika Anda mempertahankan koneksi dan menjalankan pernyataan lain yang Anda harapkan berhasil dijalankan, itu tidak akan berfungsi.