Hallo zusammen,
hat jemand eine Idee, wie ich mit Python in PostgreSQL AutoCommit möglichst elegant ein- und ausschalten kann? Bisher habe ich dazu nichts gefunden.
Um auf der DB zu arbeiten benutze ich PyGreSQL.
Danke schonmal im Voraus.
PostgreSQL AutoCommit ausschalten
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Tromai!tromai hat geschrieben:AutoCommit möglichst elegant ein- und ausschalten
Bei "psycopg2" http://www.initd.org/tracker/psycopg/wiki/PsycopgTwo muss man nach einem Insert oder Update conn.commit() ausführen.
Will man das nicht, dann kann man den Isolation-Level auf ``0`` setzen.
Code: Alles auswählen
conn.set_isolation_level(0)
Code: Alles auswählen
conn.set_isolation_level(2)
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi!gerold hat geschrieben:Will man das nicht, dann kann man den Isolation-Level auf ``0`` setzen.Zum Einschalten auf ``2`` setzen.Code: Alles auswählen
conn.set_isolation_level(0)
Code: Alles auswählen
conn.set_isolation_level(2)
Hier eine kleine Erweiterung des Codes:
Code: Alles auswählen
import psycopg2
import psycopg2.extensions
#...
conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)
# oder
conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE)
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.