Erzwingen Sie Transaktionen in psql

304
mawaldne

Kann ich bei Verwendung der psql-Konsole die Ausführung von Einfügungen / Updates / Löschungen in einer Transaktion erzwingen? Oder muss ich jeden Befehl immer explizit mit 'BEGIN' starten?

1

1 Antwort auf die Frage

0
mawaldne

Anscheinend gibt es eine AUTOCOMMIT-Funktion, von der ich keine Kenntnis hatte:

AUTOCOMMIT When on (the default), each SQL command is automatically committed upon  successful completion. To postpone commit in this mode, you must enter a  BEGIN or START TRANSACTION SQL command. When off or unset, SQL commands are  not committed until you explicitly issue COMMIT or END. The autocommit-off  mode works by issuing an implicit BEGIN for you, just before any command  that is not already in a transaction block and is not itself a BEGIN or  other transaction-control command, nor a command that cannot be executed  inside a transaction block (such as VACUUM).  Note: The autocommit-on mode is PostgreSQL's traditional behavior, but  autocommit-off is closer to the SQL spec. If you prefer autocommit-off, you  might wish to set it in the system-wide psqlrc file or your ~/.psqlrc file 
https://www.postgresql.org/docs/9.1/static/ecpg-sql-set-autocommit.html mawaldne vor 6 Jahren 0