Na meer zoeken heb ik de eigenschap isolation_level van het psycopg2-verbindingsobject ontdekt. Het blijkt dat dit veranderen in 0
zal u uit een transactieblokkering halen. Het wijzigen van de vacuümmethode van de bovenstaande klasse naar het volgende lost het op. Merk op dat ik ook het isolatieniveau heb teruggezet naar wat het eerder was voor het geval dat (lijkt 1
te zijn standaard).
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)
Dit artikel (bij het einde op die pagina) geeft een korte uitleg van isolatieniveaus in deze context.