psql set default statement_timeout als Benutzer postgres
Möchte ich eine Standard - statement_timeout
für meinen Zugriff auf eine postgres-Datenbank. Nach der Konfiguration meiner Umgebung Variablen, die ich jetzt haben, wo psql
Protokolle, mich auf meine bevorzugte Datenbank und Tabelle. Jedoch, während ich erarbeite mehrere Tabellen, ich hätte gerne eine Erklärung Zeitlimit von etwa einer minute. Diese kann getan werden, einfach durch Eingabe SET statement_timeout TO '1min';
am Anfang jeder Sitzung, aber das ist widerlich zu jeder Zeit geben. Ich habe keinen Zugriff auf die server-Konfiguration, noch würde ich es ändern wollen. Idealerweise könnte ich etwas tun, um die Wirkung von alias psql='psql -c "SET statement_timeout TO '1min';"' except the
-c` flag von psql nicht erlauben die interaktive Eingabe. Gibt es schön Lösungen für dieses problem, oder bin ich immer dazu verdammt, legen Sie das timeout manuell für jede interaktive Sitzung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie Ihre
.psqlrc
- Datei (wenn Sie keine haben in Ihrem home-Verzeichnis, erstellen Sie es, wenn Sie aufWindows
statt*nix
, die Datei ist %APPDATA%\postgresql\psqlrc.conf statt), und setzen Sie den folgenden Befehl ein:Diese Einstellung wird in Millisekunden, so dass die timeout auf 1 minute.
.psqlrc
ist nicht mit-c
noch-X
Aufrufe vonpsql
, so dass sollte ermöglichen Sie, um Ihre interaktiv-Modus-timeout auf 1 minute.Können Sie führen Sie dann die folgenden in
psql
zu überprüfen, dass die Konfiguration wirksam wird:set [...]
als eine Transaktion, und so beschwerte sich übercommit
mitpsql:~/.psqlrc:1: WARNING: there is no transaction in progress
. Sonst funktioniert es. Danke!