Desidero impostare un valore predefinito statement_timeout
per il mio accesso a un database postgres. Dopo aver configurato le mie variabili di ambiente, ora lo ho dove psql
mi registra sul mio database preferito e tabella. Tuttavia, mentre sto esplorando molte delle tabelle in esso, mi piacerebbe avere un timeout di dichiarazione di circa un minuto. Questo può essere fatto semplicemente digitando SET statement_timeout TO '1min';
all'inizio di ogni sessione, ma questo è odioso da digitare ogni volta. Non ho accesso alla configurazione del server né vorrei cambiarlo. Idealmente, potrei fare qualcosa con l'effetto del flag alias psql='psql -c "SET statement_timeout TO '1min';"' except the
-c` di psql non consente l'input interattivo. Ci sono delle buone soluzioni a questo problema, o sono sempre condannato a impostare manualmente il timeout per ogni sessione interattiva?psql imposta default_timeout come utente in postgres
7
A
risposta
12
Si potrebbe utilizzare il file .psqlrc
(se non ne avete uno nella vostra home directory, crearla, se siete su Windows
invece di *nix
, il file è % appdata% \ postgresql \ psqlrc.conf invece) e impostare il seguente comando:
set statement_timeout to 60000; commit;
Tale impostazione è espresso in millisecondi, in modo che imposteremo il timeout a 1 minuto. .psqlrc
non viene utilizzato con -c
né -X
invocazioni di psql
, in modo da consentire di ottenere il timeout della modalità interattiva su 1 minuto.
È quindi possibile eseguire il seguente in psql
per verificare che la configurazione ha preso effetto:
show statement_timeout;
Problemi correlati
- 1. Imposta meno come cercapersone in psql
- 2. Come impostare il fuso orario per Postgres psql?
- 3. Postgres utente crea database
- 4. Come selezionare uno schema in postgres quando si usa psql?
- 5. Come posso far funzionare psql in Ubuntu dalla shell: $ psql -U admin -d mydb
- 6. Postgres "psql non riconosciuto come comando interno o esterno"
- 7. Docker - Come può eseguire il comando psql nel contenitore postgres?
- 8. postgres 'psql' comando non riconosciuto in ambiente windows
- 9. psql: FATAL: autenticazione password non riuscita per l'utente "postgres" WINDOWS
- 10. Postgres che imposta l'autocommit su tutto il mondo
- 11. Psql elenca tutte le tabelle
- 12. PostgreSQL - query da script bash come utente di database 'postgres'
- 13. Come verificare se esiste un utente postgres?
- 14. postgres: aggiornare un utente come superutente?
- 15. Come goccia utente da Postgres Database
- 16. Come controllare postgres utente e password?
- 17. Come accedere a psql di un contenitore di Postgres in esecuzione?
- 18. utente predefinito di postgres all'installazione
- 19. psql - La radice del ruolo non esiste
- 20. come creare il ruolo duplicato di un utente in postgres
- 21. tasto per cancellare schermo in psql?
- 22. Imposta programmaticamente un utente DB come db_owner
- 23. Impostazione nome_applicazione su Postgres/SQLAlchemy
- 24. Come avviare il server Postgres?
- 25. Postgres su Docker. Come posso creare un database e un utente?
- 26. Imposta condizionatamente una colonna sul valore predefinito in Postgres
- 27. come impostare il comando psql in cygwin?
- 28. Come modificare una funzione in PSQL
- 29. Come usare pg: psql in heroku?
- 30. Postgres server non in ascolto
io non conoscevo .psqlrc! Sulla mia versione di psql (8.4.5) non conta 'set [...]' come una transazione, e quindi mi sono lamentato di 'commit' con' psql: ~/.psqlrc: 1: ATTENZIONE: non c'è transazione in corso ». Altrimenti ha funzionato. Grazie! – Erik
Certo, nessun problema. Ah sì, la stranezza di 8.4.x ... Devo ancora usare quella versione a volte e sono infastidita da ciò che non è ancora presente o da come si comporta in modo diverso. =) – khampson
Questo è certamente fuori discussione, ma la frustrazione 8.4.x è stata il mio catalizzatore per la creazione di un tunnel ssh. – Erik