Setelah pencarian lebih lanjut, saya telah menemukan properti isolasi_level dari objek koneksi psycopg2. Ternyata mengubah ini menjadi 0
akan mengeluarkan Anda dari blok transaksi. Mengubah metode vakum dari kelas di atas ke yang berikut menyelesaikannya. Perhatikan bahwa saya juga mengatur kembali tingkat isolasi ke tingkat sebelumnya untuk berjaga-jaga (tampaknya 1
secara default).
def vacuum(self):
old_isolation_level = self.conn.isolation_level
self.conn.set_isolation_level(0)
query = "VACUUM FULL"
self._doQuery(query)
self.conn.set_isolation_level(old_isolation_level)
Artikel ini (di dekat akhir halaman itu) memberikan penjelasan singkat tentang tingkat isolasi dalam konteks ini.