PostgreSQL AutoCommit ausschalten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
tromai
User
Beiträge: 92
Registriert: Mittwoch 26. April 2006, 11:20

Montag 31. Juli 2006, 14:42

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.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 31. Juli 2006, 15:19

tromai hat geschrieben:AutoCommit möglichst elegant ein- und ausschalten
Hi Tromai!

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)
Zum Einschalten auf ``2`` setzen.

Code: Alles auswählen

conn.set_isolation_level(2)
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
tromai
User
Beiträge: 92
Registriert: Mittwoch 26. April 2006, 11:20

Mittwoch 2. August 2006, 11:40

Ok, danke. Das sollte mir weiterhelfen.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Donnerstag 3. August 2006, 10:44

gerold hat geschrieben:Will man das nicht, dann kann man den Isolation-Level auf ``0`` setzen.

Code: Alles auswählen

conn.set_isolation_level(0)
Zum Einschalten auf ``2`` setzen.

Code: Alles auswählen

conn.set_isolation_level(2)
Hi!

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)
lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten