如何从PostgreSQL命令行实用程序退出:psql


1820

我可以使用什么命令或快捷键退出PostgreSQL命令行实用程序psql


4
@a_horse_with_no_name:我并不为这个问题感到震惊,但是赞成投票的数量是很多的
user272735 2012年

174
有时我们需要快速直接的答案,而不是在手册中进行搜索以专注于实际问题,在这种情况下,这些简短的问题确实很有帮助。
App Work

175
真正的问题不是“人们是否有能力阅读手册”,而是“企业软件是否应响应标准退出顺序”,例如,我不知道“退出”?必须阅读手册才能退出似乎很违反直觉。
Kheldar 2014年

23
@Kheldar确实,这只是糟糕的用户界面设计(加上傲慢)。人们对奇怪的事情没有把握。
伊恩·柯林斯

49
更重要的是,这个帖子是现在先打当我谷歌“退出PSQL”
天使S.莫雷诺

Answers:


2539

键入\q,然后按ENTER退出psql

更新:2018年10月19日

PostgreSQL 11开始,PostgreSQL命令行界面中已包含关键字“ quit”和“ exit”,以帮助您更轻松地退出命令行工具。


28
如果您处于单用户后端模式(--single),则此功能将无效。而是使用Kaarel的答案Ctrl-D)。除了始终在pgsql中工作外,它还可以在大多数其他的unix shell(python,mysql等)中工作。如果您总是以“标准”的方式做事,那么琐事将使您的大脑变得不那么混乱。
滚刀

1
输入\?如果“帮助”没有帮助,请寻求帮助。这是一个如何不创建人机交互的闪亮示例。谁想到过这个好主意?寻求帮助和\ q退出?
Jaywalker

1
Ctrl-d也有帮助


1
@aorth是的,他们在几个月前宣布了这一消息:stackoverflow.com/a/50513432/5070879
Lukasz Szozda

747

我通常的按键顺序是:

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

我认为psql命令行的资深人士通常会将其简化为:

\q

3
我自己尝试了ctrl-z。它或多或少地完成了工作,但我并不完全满意。:(
mjwach 2015年

12
cntrl + D从任何地方退出
vidur punj 18'Jan

1
@mjwach ctrl + z只是将进程挂起到后台,几乎可以肯定不是您想要的。
LucidObscurity

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

2
笑了你的答案。由于我们使用了所有不同的工具,所以脑筋急转弯。
塞尔吉奥·

299

Ctrl+ D是我通常用来退出psql控制台的东西。


3
是的 这也适用于bash,sh,ssh,zsh,irb,pry,python,sudo su,node等。这是退出任何类型的shell 标准方法。
Ajedi32

5
不只是壳。从stdin读取并将空字符串解释为EOF的任何合理的合理程序都将接受^ D。
凯文

这对我不起作用,可能是因为我在OSX上使用了Dvorak键盘布局。cmd-D和cmd-E(D在Qwerty上)均无效。
NessBird

4
@NessBird Ctrl与Cmd不同。尝试使用Control-D而不是Command-D。
蒂尔曼·施密特

27

尝试:

  • Ctrl+ Z-发送TSTP信号(TSTP“终端停止”的缩写)
  • Ctrl+ \-这发送QUIT信号

出于好奇:

  • Ctrl+ D-发送EOF字符。EOF代表“文件结尾”。在这种具体情况下,由于外壳正在等待用户输入,因此它会从psql子程序退出。这不应该是“解决之道”,因为在以下情况下它不起作用:
    • 之前输入任何其他字符-尝试输入一些空格,然后按Ctrl+ D,这将不退出psql。
    • 如果根本不需要用户输入

4
无需“尝试”任何操作。正确退出的正确命令psql已得到充分记录,并且是\q
a_horse_with_no_name 16'Nov

2
正如@hobs明确指出的那样\q:“如果您处于单用户后端模式(--single),则将无法使用。请改用Kaarel的答案(CtrlD)”。恕我直言,使用CtrlD方法也不可行,我在上面解释了原因并提供了替代方法。
iusting

1
谢谢!Ctrl+Z只是那个为我工作的命令-我连接到通过隧道数据库,失去了连接-既不\q也不Ctrl+D工作,但我会Ctrl+Z再杀人中止处理
谢尔盖

20

quitexit\q

基于PostgreSQL 11 Beta 1发布!

用户体验增强

属于此类别的另一个功能是无法直观地从PostgreSQL命令行(psql)退出。有很多记录在案的投诉,涉及用户试图使用quitexit命令退出的情况,只是得知这样做的命令是\ q。

我们已经听到您的无奈之举,现在增加了使用关键字quitexit退出命令行的功能,并希望现在退出PostgreSQL会话就像使用PostgreSQL一样令人愉快。


2
坏习惯,到处都是坏习惯

1
@randomware您能详细说明吗?
Lukasz Szozda '18

1
是的,我的意思是反斜杠令人满意,并且与其他内部无分号pgsql命令一致,并且一个可以做\?\h继续学习“其他所有东西”的恕我直言

6
“记录了很多投诉”->“反斜杠令人满意”?h
史蒂夫·本内特


8

我了解到可以在批处理.sql文件中包含\ q,因此我可以让psql从\ i操作中更早退出。


4

其实\qexitCTRL + Ddid'nt从工作对我来说,退出PSQL程序。

Ctrl + Shift + D

为我工作。希望它可以帮助某人:)

我的Ubuntu版本是19.04


0

具体来说,如何在Ubuntu 18.04上退出以下状态。

我把原始状态如下。

postgres@user:~$

如果输入了psql,它将变为以下新状态。

postgres@user:~$ psql

postgres=# 

如果输入\ q,请参阅操作。

postgres@user:~$ \q

它将变为原始状态,如下所示。

postgres@user:~$

快速的方法是杀死终端。但是我想知道其他退出方法而不杀死终端。

谢谢,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.