Come uscire dall'utilità della riga di comando PostgreSQL: psql


1821

Quale comando o tasto di scelta rapida posso usare per uscire dall'utilità della riga di comando PostgreSQL psql?


4
@a_horse_with_no_name: non sono scioccato dalla domanda, ma dal numero di voti :) Confronta ad es. come uscire dall'editor Vi con un singolo tasto?
user272735

174
A volte abbiamo bisogno di una risposta rapida e diretta rispetto alla ricerca nel manuale per concentrarci sul vero problema. In questi casi queste brevi domande sono davvero utili.
App Work

175
La vera domanda non è "le persone sono in grado di leggere un manuale" , ma "il software aziendale dovrebbe rispondere alle sequenze di uscita standard" come, non so, "uscita"? Dover leggere il manuale per uscire sembra seriamente controintuitivo.
Kheldar,

23
@Kheldar In effetti, è solo una cattiva progettazione dell'interfaccia utente (unita all'arroganza). Le persone non sono sicure di cose strane.
Iain Collins,

49
ancora più importante, questo post è ora il primo successo quando google "exit psql"
Angel S. Moreno,

Risposte:


2541

Digitare \qe quindi premere ENTERper uscire psql.

AGGIORNAMENTO: 19-OTT-2018

A partire da PostgreSQL 11 , le parole chiave " quit" e " exit" nell'interfaccia della riga di comando di PostgreSQL sono state incluse per facilitare l'uscita dall'utilità della riga di comando.


28
Questo non funzionerà se ci si trova in modalità backend per utente singolo ( --single). Usa invece la risposta di Kaarel ( Ctrl-D). Oltre a funzionare sempre in pgsql, funzionerà nella maggior parte delle altre shell unix (python, mysql, ecc.). Se fai sempre le cose "standard" nel modo in cui il tuo cervello sarà meno ingombro di curiosità.
Piani cottura

1
Genere \? per aiuto se solo "aiuto" non aiuta. Questo è un esempio lampante di come non creare interazioni con il computer umano. Chi ha pensato a questa grande idea di \? per aiuto e \ q per uscire?
Jaywalker,

1
Anche Ctrl-d aiuta
GIOVEDÌ


1
@aorth Sì, hanno annunciato un paio di mesi fa: stackoverflow.com/a/50513432/5070879
Lukasz Szozda

747

La mia solita sequenza di tasti è:

quit()
quit
exit()
exit
q
q()
!q
^C
help
Alt + Tab
google.com
Quit PSQL
\q

Penso che i veterani della riga di comando di psql di solito riducano questo a solo:

\q

3
Ho provato ctrl-z, me stesso. Ha fatto il lavoro, più o meno, ma non ero completamente soddisfatto. :(
mjwach,

12
cntrl + D per uscire da qualsiasi dove
vidur punj

1
@mjwach ctrl + z sospende semplicemente il processo in background, quasi certamente non quello che vuoi.
LucidObscurity,

postgres = # / q postgres- # \ q
Dzmitry Prakapenka

2
Ho riso con la tua risposta. Il lavaggio del cervello è dovuto a tutti i diversi strumenti che utilizziamo.
Sergio A.

299

Ctrl+ Dè quello che di solito uso per uscire dalla console psql.


3
Sì. Funziona anche in bash, sh, ssh, zsh, irb, pry, python, sudo su, node e altro. È il modo standard per uscire da una shell di qualsiasi tipo.
Ajedi32,

5
Non solo un guscio. Qualsiasi programma ragionevolmente sano che legge da stdin e interpreta la stringa vuota come EOF accetterà ^ D.
Kevin,

Questo non funziona per me, probabilmente perché uso il layout di tastiera Dvorak su OSX. Né cmd-D né cmd-E (dove D è su Qwerty) funzionano.
NessBird,

4
@NessBird Ctrl non è lo stesso di Cmd. Prova Control-D invece di Command-D.
Tilman Schmidt,

27

Provare:

  • Ctrl+ Z- questo invia il TSTPsegnale ( TSTPè l'abbreviazione di "arresto terminale")
  • Ctrl+ \- questo invia il QUITsegnale

Per curiosità:

  • Ctrl+ D- questo invia il EOFpersonaggio. EOFsta per "fine del file". In questo caso concreto esce dal sottoprogramma psql, poiché la shell attende l'input dell'utente. Questo non dovrebbe essere "la strada da percorrere" in quanto non funziona se:
    • qualsiasi altro carattere è stato inserito prima - prova ad inserire degli spazi bianchi e poi premi Ctrl+ D, non uscirà da psql.
    • se l'input dell'utente non è richiesto affatto

4
Non è necessario "provare" nulla. Il comando corretto per uscire in modo pulito psqlè ben documentato ed è\q
a_horse_with_no_name

2
Come dice chiaramente @hobs\q : "Questo non funzionerà se ci si trova in modalità backend per singolo utente (--single). Invece, utilizzare la risposta di Kaarel ( CtrlD)". L'utilizzo di IMHO CtrlDnon è nemmeno la strada da percorrere, e ho spiegato perché sopra e offerto un'alternativa.
Solo l'

1
Grazie! Ctrl+Zè stato l'unico comando che ha funzionato per me - ero collegato a un database tramite tunnel che ha perso la connessione - \qCtrl+Dfunzionava, ma potevo Ctrl+Ze poi ho ucciso il processo sospeso
Sergey

20

quitoppure exitoppure\q

Basato su PostgreSQL 11 Beta 1 rilasciato! :

Miglioramenti dell'esperienza utente

Un'altra caratteristica che rientrava in questa categoria era l'impossibilità di uscire intuitivamente dalla riga di comando PostgreSQL (psql). Sono stati registrati numerosi reclami degli utenti che hanno tentato di uscire con i comandi quit ed exit , solo per sapere che il comando per farlo era \ q.

Abbiamo sentito le tue frustrazioni e ora abbiamo aggiunto la possibilità di uscire dalla riga di comando usando le parole chiave quit e exit e speriamo che uscire da una sessione PostgreSQL sia ora divertente come usare PostgreSQL.


2
cattive abitudini, cattive abitudini ovunque

1
@randomware Potresti elaborare?
Lukasz Szozda,

1
sì, voglio dire che la barra rovesciata era soddisfacente e coerente con gli altri comandi pgsql semicolonless interni, e uno farebbe \?o \hcontinuerebbe a imparare 'tutto il resto' imho

6
"Ci sono stati numerosi reclami registrati" -> "la battuta d'arresto è stata soddisfacente"? Eh.
Steve Bennett,


8

Ho appreso che avrei potuto includere \ q in un file batch .sql, quindi avrei potuto uscire psql prima da un'operazione \ i.


4

In realtà, \q, exite CTRL + Ddid'nt ha lavorato per me per uscire dal psql programma.

Ctrl + Shift + D

Ha funzionato per me. Spero che possa aiutare qualcuno :)

La mia versione di Ubuntu è 19.04


0

In particolare, come uscire dal seguente stato su Ubuntu 18.04.

Ho messo lo stato originale come segue.

postgres@user:~$

Se viene inserito psql, cambia nel nuovo stato come segue.

postgres@user:~$ psql

postgres=# 

Se viene inserito \ q, vedere l'operazione.

postgres@user:~$ \q

Passa allo stato originale come segue.

postgres@user:~$

Il modo rapido è uccidere il terminale. Ma voglio conoscere altri metodi di uscita senza uccidere il terminale.

Grazie,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.