Tautan Anda ke dokumen Psycopg2 agak menjelaskannya sendiri, bukan?
Jadi, kecuali Anda menggunakan tingkat isolasi yang berbeda, atau menggunakan PgBouncer, contoh pertama Anda akan berfungsi dengan baik. Namun, jika Anda menginginkan kontrol yang lebih halus atas apa yang terjadi selama transaksi, maka metode try/except mungkin yang terbaik, karena paralel dengan status transaksi database itu sendiri.