Comment quitter l'utilitaire de ligne de commande PostgreSQL: psql

1821

Quelle commande ou touche courte puis-je utiliser pour quitter l'utilitaire de ligne de commande PostgreSQL psql?

App Work
la source
4
@a_horse_with_no_name: Je ne suis pas choqué par la question, mais par le nombre de votes positifs :) Comparez par exemple à Comment quitter l'éditeur Vi avec une seule touche?
user272735
174
Parfois, nous avons besoin d'une réponse rapide et simple que de la chercher dans le manuel pour nous concentrer sur le vrai problème.Dans de tels cas, ces courtes questions sont vraiment utiles.
App Work
175
La vraie question n'est pas "les gens sont-ils capables de lire un manuel" , mais "les logiciels d'entreprise devraient-ils répondre aux séquences de sortie standard" comme, je ne sais pas, "sortir"? Devoir lire le manuel pour quitter semble sérieusement contre-intuitif.
Kheldar
23
@Kheldar En effet, c'est juste une mauvaise conception d'interface utilisateur (couplée à de l'arrogance). Les gens ne sont pas sûrs des choses étranges.
Iain Collins
49
plus important encore, ce message est maintenant le premier hit lorsque je google "exit psql"
Angel S. Moreno

Réponses:

2541

Tapez \q, puis appuyez sur ENTERpour quitter psql.

MISE À JOUR: 19-OCT-2018

Depuis PostgreSQL 11 , les mots clés " quit" et " exit" dans l'interface de ligne de commande PostgreSQL ont été inclus pour faciliter la sortie de l'outil de ligne de commande.

Frankline
la source
28
Cela ne fonctionnera pas si vous êtes en mode backend mono-utilisateur ( --single). Utilisez plutôt la réponse de Kaarel ( Ctrl-D). En plus de toujours fonctionner dans pgsql, cela fonctionnera dans la plupart de vos autres shells Unix (python, mysql, etc.). Si vous faites toujours les choses de la manière «standard» dans 'nix, votre cerveau sera moins encombré de futilités.
plaques de cuisson
1
Tapez \? pour de l'aide si juste "aide" n'aide pas. Ceci est un exemple brillant de la façon de ne pas créer d'interaction homme-machine. Qui a pensé à cette grande idée de \? pour de l'aide et \ q pour quitter?
Jaywalker
1
Ctrl-d aide également
YOung
1
@aorth Oui, ils l'ont annoncé il y a quelques mois: stackoverflow.com/a/50513432/5070879
Lukasz Szozda
747

Ma séquence de touches habituelle est:

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

Je pense que les vétérans de la ligne de commande psql raccourcissent généralement cela à:

\q
Ted
la source
3
J'ai essayé ctrl-z, moi-même. Cela a plus ou moins fait le travail, mais je n'étais pas entièrement satisfait. :(
mjwach
12
cntrl + D pour sortir de n'importe où
vidur punj
1
@mjwach ctrl + z suspend simplement le processus en arrière-plan, presque certainement pas ce que vous voulez.
LucidObscurity
postgres = # / q postgres- # \ q
Dzmitry Prakapenka
2
Eu un rire avec votre réponse. Brainsmashed en raison de tous les différents outils que nous utilisons.
Sergio A.
299

Ctrl+ Dest ce que j'utilise habituellement pour quitter la console psql.

Kaarel
la source
3
Oui. Cela fonctionne également dans bash, sh, ssh, zsh, irb, pry, python, sudo su, node, etc. C'est la manière standard de quitter un shell de toute sorte.
Ajedi32
5
Pas seulement une coquille. Tout programme raisonnablement sain qui lit depuis stdin et interprète la chaîne vide comme EOF acceptera ^ D.
Kevin
Cela ne fonctionne pas pour moi, probablement parce que j'utilise la disposition du clavier Dvorak sur OSX. Ni cmd-D ni cmd-E (où D est sur Qwerty) ne fonctionne pas.
NessBird
4
@NessBird Ctrl n'est pas la même chose que Cmd. Essayez Control-D au lieu de Command-D.
Tilman Schmidt
27

Essayer:

  • Ctrl+ Z- cela envoie le TSTPsignal ( TSTPest l'abréviation de "terminal stop")
  • Ctrl+ \- cela envoie le QUITsignal

Par curiosité:

  • Ctrl+ D- cela envoie le EOFpersonnage. EOFsignifie "fin de fichier". Dans ce cas concret, il quitte le sous-programme psql, car le shell attend l'entrée utilisateur. Cela ne devrait pas être «la voie à suivre» car cela ne fonctionne pas si:
    • tout autre caractère est entré avant - essayez de saisir des espaces blancs puis appuyez sur Ctrl+ D, cela ne va pas quitter psql.
    • si l'entrée utilisateur n'est pas nécessaire du tout
poussant
la source
4
Il n’est pas nécessaire d’essayer quoi que ce soit. La commande appropriée pour quitter proprement psqlest bien documentée et est\q
a_horse_with_no_name
2
Comme le dit clairement @hobs\q : "Cela ne fonctionnera pas si vous êtes en mode backend mono-utilisateur (--single). Utilisez plutôt la réponse de Kaarel ( CtrlD)". L'utilisation CtrlDà mon humble avis n'est pas la voie à suivre non plus, et j'ai expliqué pourquoi ci-dessus et proposé une alternative.
2016 à 7h29
1
Je vous remercie! Ctrl+Zétait la seule commande qui fonctionnait pour moi - j'étais connecté à une base de données via un tunnel qui a perdu la connexion - \qni Ctrl+Dtravaillé, mais j'ai pu Ctrl+Zet puis tuer le processus suspendu
Sergey
20

quitou exitou\q

Basé sur PostgreSQL 11 Beta 1 publié! :

Améliorations de l'expérience utilisateur

Une autre caractéristique qui entrait dans cette catégorie était l'impossibilité de quitter intuitivement la ligne de commande PostgreSQL (psql). Il y a eu de nombreuses plaintes enregistrées d'utilisateurs essayant de quitter avec les commandes quit et exit , seulement pour apprendre que la commande pour le faire était \ q.

Nous avons entendu vos frustrations et avons maintenant ajouté la possibilité de quitter la ligne de commande en utilisant les mots clés quit et exit et espérons que quitter une session PostgreSQL est maintenant aussi agréable que d'utiliser PostgreSQL.

Lukasz Szozda
la source
2
mauvaises habitudes, mauvaises habitudes partout
1
@randomware Pourriez-vous élaborer?
Lukasz Szozda,
1
oui, je veux dire que la barre oblique inverse était satisfaisante et cohérente avec les autres commandes internes pgsql sans point-virgule, et que l'une ferait \?ou \hcontinuerait à apprendre 'tout le reste' à mon humble avis
6
"Il y a eu de nombreuses plaintes enregistrées" -> "la contre-oblique était satisfaisante"? Il h.
Steve Bennett
10

Pour la ligne de commande Linux \ q + entrez.

Quitter avec Ctrl + D est aussi un travail

Maurice Elagu
la source
4
Cela ne fait que réitérer les réponses de Frankline et Kaarel .
faintsignal
8

J'ai appris que je pouvais inclure \ q dans un fichier batch .sql, donc je pouvais avoir psql quitter plus tôt à partir d'une opération \ i.

sflitman
la source
4

En fait, \q, exitet CTRL + Ddid'nt a travaillé pour moi pour sortir du psql programme.

Ctrl + Shift + D

A travaillé pour moi. J'espère que cela aidera quelqu'un :)

Ma version Ubuntu est le 19.04

VinoCoder
la source
0

Plus précisément, comment quitter l'état suivant sur Ubuntu 18.04.

J'ai mis le statut d'origine comme suit.

postgres@user:~$

Si psql est entré, il passe au nouvel état comme suit.

postgres@user:~$ psql

postgres=# 

Si \ q est entré, veuillez voir l'opération.

postgres@user:~$ \q

Il passe à l'état d'origine comme suit.

postgres@user:~$

Le moyen rapide est de tuer le terminal. Mais je veux connaître une autre méthode d'arrêt sans tuer le terminal.

Merci,

Mike Chen
la source