Ich verwende Postgresql mit den PostGIS-Erweiterungen für räumliche Ad-hoc-Analysen. Ich konstruiere und gebe SQL-Abfragen in der Regel von Hand innerhalb von psql aus. Ich schliesse immer eine Analysesitzung innerhalb einer Transaktion. Wenn ich also eine destruktive Abfrage ausstelle, kann ich sie zurückrollen.Kann ich Postgresql bitten, Fehler innerhalb einer Transaktion zu ignorieren?
Wenn ich jedoch eine Abfrage, die einen Fehler enthält, ausstelle, wird die Transaktion abgebrochen. Bei weiteren Abfragen wird folgende Warnung ausgelöst:
Gibt es eine Möglichkeit, dieses Verhalten auszuschalten? Es ist mühsam, die Transaktion rückgängig zu machen und vorherige Abfragen jedes Mal erneut auszuführen, wenn ich einen Tippfehler mache.
die ON_ERROR_ROLLBACK-Variable macht genau das, was ich wollte :) – fmark
'ON_ERROR_ROLLBACK' sieht aus wie eine Funktion des psql-Clients, nicht selbst postgres (also kann man dies nicht aus einer Datenbankanwendung heraus verwenden, nur von der Kommandozeile aus). – Glyph
@Glyph: Ja, das ist ein Feature für psql, es ist speziell auf interaktive Nutzung ausgerichtet - das war das OP-Szenario. Es ist schwierig für mich, an ein Anwendungsszenario zu denken, wenn das gewünschte Verhalten Sinn machen würde. – leonbloy