Jede PostgreSQL-Anweisung wird in einer Transaktion ausgeführt.
PostgreSQL selbst nur kennt den Autocommit-Modus, was bedeutet, dass jede Anweisung in einer eigenen Transaktion ausgeführt wird, wenn Sie nicht explizit eine Transaktion starten.
Anweisungen wie VACUUM
kann nicht in derselben Transaktion mit anderen Anweisungen ausgeführt werden.
Wenn Sie Autocommit in psycopg2 nicht verwenden, muss der Treiber den Nicht-Autocommit-Modus simulieren, indem er explizit eine Transaktion startet, wenn die erste Anweisung ausgeführt wird.