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?


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.


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

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.


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

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.


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


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.


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


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,

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.