Ich habe gerade ein neues PostgreSQL 9.5.2 eingerichtet, und es scheint, dass alle meine Transaktionen automatisch festgeschrieben sind.Transaktionen werden in PostgreSQL 9.5.2 automatisch festgeschrieben, ohne dass sie geändert werden kann?
Ausführen der folgenden SQL:
CREATE TABLE test (id NUMERIC PRIMARY KEY);
INSERT INTO test (id) VALUES (1);
ROLLBACK;
führt zu einer Warnung:
WARNING: there is no transaction in progress
ROLLBACK
auf einem verschiedenen Transaktion, die folgende Abfrage:
SELECT * FROM test;
gibt tatsächlich die Zeile mit 1
(als ob die inse rt wurde verpflichtet).
Ich habe versucht, autocommit
aus, aber es scheint, dass diese Funktion nicht mehr existiert (ich bekomme die unrecognized configuration parameter
Fehler).
Was zum Teufel geht hier vor?
Der '\ Set' Befehl scheint nicht, etwas zu beeinflussen. Das beginnt. Scheint mir wie ein Käfer. Ich benutze 'psql' unter Windows 10. –
' \ set AUTCOMMIT off' funktioniert definitiv. Hast du vielleicht Kleinbuchstaben benutzt? Bei Variablennamen in 'psql' wird zwischen Groß- und Kleinschreibung unterschieden. –
Ja, es funktioniert; es ist Groß- und Kleinschreibung (warum gibt es keinen Fehler, wenn ich es falsch verstehe, obwohl?). Gibt es trotzdem eine Einstellung zum Laden des Clients mit einer Standardeinstellung zum automatischen Festschreiben? –