Cómo salir de la utilidad de línea de comandos PostgreSQL: psql

1821

¿Qué comando o tecla corta puedo usar para salir de la utilidad de línea de comandos PostgreSQL psql?

App Work
fuente
44
@a_horse_with_no_name: No me sorprende la pregunta, pero el número de votos a favor :) Compare, por ejemplo, ¿Cómo
user272735
174
A veces necesitamos una respuesta rápida y directa que buscarla en el manual para centrarnos en el problema real. En estos casos, estas preguntas breves son realmente útiles.
Aplicación Work
175
La verdadera pregunta no es "¿las personas son capaces de leer un manual" , sino "¿debería el software empresarial responder a las secuencias de salida estándar" como, no sé, "salir"? Tener que leer el manual para dejar de fumar parece seriamente contra-intuitivo.
Kheldar
23
@Kheldar De hecho, es solo un mal diseño de la interfaz de usuario (junto con la arrogancia). La gente está insegura sobre cosas raras.
Iain Collins
49
Más importante aún, esta publicación es ahora el primer éxito cuando busco en Google "exit psql"
Angel S. Moreno

Respuestas:

2541

Escriba \qy luego presione ENTERpara salir psql.

ACTUALIZACIÓN: 19-OCT-2018

A partir de PostgreSQL 11 , las palabras clave " quit" y " exit" en la interfaz de línea de comandos de PostgreSQL se han incluido para ayudar a que sea más fácil abandonar la herramienta de línea de comandos.

Frankline
fuente
28
Esto no funcionará si está en modo backend de usuario único ( --single). En su lugar, use la respuesta de Kaarel ( Ctrl-D). Además de trabajar siempre en pgsql, funcionará en la mayoría de sus otros shells de Unix (python, mysql, etc.). Si siempre haces las cosas de la manera "estándar" en 'nix, tu cerebro estará menos abarrotado de curiosidades.
placas el
1
Tipo \? para ayuda si solo "ayuda" no ayuda. Este es un reluciente ejemplo de cómo no crear interacción computadora humana. ¿Quién pensó en esta gran idea de \? para ayuda y \ q para dejar de fumar?
Jaywalker
1
Ctrl-d también ayuda
Joven
1
@aorth Sí, lo anunciaron hace unos meses: stackoverflow.com/a/50513432/5070879
Lukasz Szozda
747

Mi secuencia de teclas habitual es:

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

Creo que los veteranos de la línea de comando psql generalmente acortan eso a solo:

\q
Ted
fuente
3
Intenté ctrl-z, yo mismo. Hizo el trabajo, más o menos, pero no estaba completamente satisfecho. :(
mjwach
12
cntrl + D para salir de cualquier lugar
vidur punj
1
@mjwach ctrl + z simplemente suspende el proceso a un segundo plano, casi seguro que no es lo que desea.
LucidObscurity
postgres = # / q postgres- # \ q
Dzmitry Prakapenka
2
Me reí con tu respuesta. Brainsmashed debido a todas las diferentes herramientas que utilizamos.
Sergio A.
299

Ctrl+ Des lo que suelo usar para salir de la consola psql.

Kaarel
fuente
3
Sí. Esto también funciona en bash, sh, ssh, zsh, irb, pry, python, sudo su, node y más. Es la forma estándar de salir de un shell de cualquier tipo.
Ajedi32
55
No solo un caparazón. Cualquier programa razonablemente sano que lea de stdin e interprete la cadena vacía como EOF aceptará ^ D.
Kevin
Esto no funciona para mí, probablemente porque uso el diseño del teclado Dvorak en OSX. Ni cmd-D ni cmd-E (donde D está en Qwerty) funcionan.
NessBird
44
@NessBird Ctrl no es lo mismo que Cmd. Prueba Control-D en lugar de Command-D.
Tilman Schmidt
27

Tratar:

  • Ctrl+ Z- esto envía la TSTPseñal ( TSTPes la abreviatura de "parada terminal")
  • Ctrl+ \- esto envía la QUITseñal

Por curiosidad:

  • Ctrl+ D- esto envía el EOFpersonaje.EOFsignifica "fin de archivo". En este caso concreto, sale del subprograma psql, ya que el shell está esperando la entrada del usuario. Esto no debería ser 'el camino a seguir' ya que no funciona si:
    • se ingresa cualquier otro carácter antes; intente ingresar algunos espacios en blanco y luego presione Ctrl+ D, no saldrá de psql.
    • si la entrada del usuario no es necesaria
iusting
fuente
44
No hay necesidad de "probar" nada. El comando adecuado para salir limpiamente psqlestá bien documentado y está\q
a_horse_with_no_name el
2
Como @hobs dice claramente sobre \q: "Esto no funcionará si está en modo backend de usuario único (--single). En su lugar, use la respuesta de Kaarel ( CtrlD)". En mi humilde opinión, CtrlDtampoco es el camino a seguir, y expliqué por qué anteriormente y ofrecí una alternativa.
Iusting
1
¡Gracias! Ctrl+Zfue el único comando que funcionó para mí: estaba conectado a una base de datos a través del túnel que perdió la conexión, \qni Ctrl+Dfuncionó, pero pude Ctrl+Zy luego eliminé el proceso suspendido
Sergey
20

quito exito\q

Basado en PostgreSQL 11 Beta 1 ¡Lanzado! :

Mejoras en la experiencia del usuario

Otra característica que se incluyó en esta categoría fue la imposibilidad de salir intuitivamente de la línea de comandos PostgreSQL (psql). Ha habido numerosas quejas de los usuarios registrados que tratan de dejar el dejar de fumar y la salida de los comandos, sólo para descubrir que la orden de hacerlo era \ q.

Hemos escuchado sus frustraciones y ahora hemos agregado la capacidad de salir de la línea de comandos usando las palabras clave quit y exit y esperamos que salir de una sesión de PostgreSQL ahora sea tan agradable como usar PostgreSQL.

Lukasz Szozda
fuente
2
malos hábitos, malos hábitos en todas partes
1
@randomware ¿Podría elaborar?
Lukasz Szozda
1
Sí, lo barra invertida media fue satisfactoria y coherente con los otros comandos pgsql semicolonless internas, y uno haría \?o \hseguir aprendiendo 'todo lo demás' en mi humilde opinión
66
"Ha habido numerosas quejas registradas" -> "barra invertida fue satisfactoria"? Je
Steve Bennett
10

Para la línea de comando de Linux \ q + enter.

Salir con Ctrl + D también funciona

Maurice Elagu
fuente
44
Esto solo reitera las respuestas de Frankline y Kaarel .
faintsignal
8

Aprendí que podía incluir \ q en un archivo .sql por lotes, por lo que podría cerrar psql antes de una operación \ i.

sflitman
fuente
4

En realidad, \q, exity CTRL + Dme cansaría trabajó para mí para salir de la psql programa.

Ctrl + Shift + D

Trabajó para mi. Espero que ayude a alguien :)

Mi versión de ubuntu es la 19.04

VinoCoder
fuente
0

Hablando específicamente, cómo salir del siguiente estado en Ubuntu 18.04.

Puse el estado original de la siguiente manera.

postgres@user:~$

Si se ingresa psql, cambia al nuevo estado de la siguiente manera.

postgres@user:~$ psql

postgres=# 

Si se ingresa \ q, consulte la operación.

postgres@user:~$ \q

Cambia al estado original de la siguiente manera.

postgres@user:~$

La forma rápida es matar la terminal. Pero quiero conocer otro método para dejar de fumar sin matar el terminal.

Gracias,

Mike Chen
fuente