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.
Benutzeravatar
tromai
User
Beiträge: 92
Registriert: Mittwoch 26. April 2006, 11:20

PostgreSQL AutoCommit ausschalten

Beitragvon tromai » 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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: PostgreSQL AutoCommit ausschalten

Beitragvon gerold » 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

Beitragvon tromai » Mittwoch 2. August 2006, 11:40

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

Re: PostgreSQL AutoCommit ausschalten

Beitragvon gerold » 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.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder