ChatGPT解决这个技术问题 Extra ChatGPT

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

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

@a_horse_with_no_name:我对这个问题并不感到震惊,但赞成票的数量:) 比较例如 How do you quit the Vi editor with single keypress?
有时我们需要快速直接的答案,而不是在手册中搜索以专注于真正的问题。在这种情况下,这些简短的问题真的很有帮助。
真正的问题不是“人们是否有能力阅读手册”,而是“企业软件是否应该响应标准的退出序列”,比如,我不知道,“退出”?必须阅读手册才能退出似乎严重违反直觉。
@Kheldar确实,这只是糟糕的用户界面设计(加上傲慢)。人们对奇怪的事情没有安全感。
更重要的是,这篇文章现在是我谷歌“exit psql”时的第一个热门话题

F
Frankline

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

更新:2018 年 10 月 19 日

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


如果您处于单用户后端模式 (--single),这将不起作用。请改用 Kaarel's answer (Ctrl-D)。除了始终在 pgsql 中工作之外,它还可以在大多数其他 unix shell(python、mysql 等)中工作。如果你总是在'nix'中以“标准”方式做事,你的大脑就会少一些琐事。
类型 \?如果只是“帮助”没有帮助,请寻求帮助。这是一个关于如何不创建人机交互的闪亮示例。谁想到了\这个伟大的想法?寻求帮助和 \q 退出?
Ctrl-d 也有帮助
@aorth 是的,他们几个月前宣布了:stackoverflow.com/a/50513432/5070879
T
Ted

我通常的按键顺序是:

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

我认为 psql 命令行的老手通常会将其缩短为:

\q

我自己试过ctrl-z。它或多或少地完成了工作,但我并不完全满意。 :(
cntrl+D 从任何地方退出
@mjwach ctrl+z 只是将进程暂停到后台,几乎可以肯定不是你想要的。
被你的回答逗笑了。由于我们使用的所有不同的工具,我们都被搞砸了。
我想你错过了:q
r
rink.attendant.6

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


是的。这也适用于 bash、sh、ssh、zsh、irb、pry、python、sudo su、node 等。这是退出任何类型的 shell 的标准方法。
不只是一个壳。任何从标准输入读取并将空字符串解释为 EOF 的合理程序都将接受 ^D。
这对我不起作用,可能是因为我在 OSX 上使用了 Dvorak 键盘布局。 cmd-D 和 cmd-E(D 在 Qwerty 上)都不起作用。
@NessBird Ctrl 与 Cmd 不同。尝试 Control-D 而不是 Command-D。
@Kevin您不必将空字符串解释为EOF ..默认情况下,发送 ctrl+D 将使您实际从 fgetc() (int=-1) 接收 EOF,并且它将关闭标准输入文件流:任何后续调用 f*read*() 将返回错误,而 feof(stdin) 将返回 1。因此更容易识别它:)
i
iusting

利用:

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

Ctrl+\ - 这会发送 QUIT 信号

出于好奇:

Ctrl+D - 这会发送 EOF 字符。 EOF 代表“文件结束”。在这个具体的例子中,它从 psql 子程序中退出,因为 shell 正在等待用户输入。这不应该是“要走的路”,因为在以下情况下它不起作用:

之前输入了任何其他字符 - 尝试输入一些空格,然后按 Ctrl+D,它不会退出 psql。

如果根本不需要用户输入


没有必要“尝试”任何事情。干净地退出 psql 的正确命令是 well documented 并且是 \q
正如 @hobs 明确指出的 \q:“如果您处于单用户后端模式 (--single),这将不起作用。而是使用 Kaarel 的答案 (CtrlD)”。恕我直言,使用 CtrlD 也不是可行的方法,我在上面解释了原因并提供了一种替代方法。
谢谢! Ctrl+Z 是唯一对我有用的命令 - 我通过隧道连接到数据库,但失去了连接 - \qCtrl+D 都不起作用,但我可以 Ctrl+Z 然后终止暂停的进程
您可以考虑在此答案的顶部用“使用”代替“尝试”一词。它带来了一种“不确定”的感觉,但这是对该问题的直截了当且有效的答案。
C
Community

退出或退出或 \q

基于 PostgreSQL 11 Beta 1 Released!

用户体验增强 属于此类别的另一个特性是无法从 PostgreSQL 命令行 (psql) 直观地退出。有许多记录在案的用户试图使用 quit 和 exit 命令退出,结果却得知这样做的命令是 \q。我们听到了您的不满,现在添加了使用关键字 quit 和 exit 退出命令行的功能,并希望现在退出 PostgreSQL 会话就像使用 PostgreSQL 一样令人愉快。


坏习惯,到处都是坏习惯
@randomware 你能详细说明一下吗?
是的,我的意思是反斜杠是令人满意的,并且与其他内部无分号 pgsql 命令一致,并且一个人会做 \?\h 继续学习“其他一切”恕我直言
“有很多记录的投诉”->“反斜杠令人满意”?呵呵。
s
sflitman

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


M
Maurice Elagu

对于 Linux 命令行 \q + 输入。

使用 Ctrl + D 退出也是有效的


这只是重申了 FranklineKaarel 的答案。
V
VinoCoder

实际上,\qexitCTRL + D 并没有让我退出 psql 程序。

Ctrl + Shift + D

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

我的 ubuntu 版本是 19.04