How to exit from PostgreSQL command line utility: psql
我可以使用什么命令或短键退出PostgreSQL命令行实用程序psql?
- @一匹没有名字的马:我对这个问题并不感到震惊,但是赞成票的数目:)比较一下,例如,你是如何用单键按下退出vi编辑器的?
- 有时我们需要快速而直接的回答,而不是在手册中搜索它来集中于实际问题。在这种情况下,这些简短的问题真的很有帮助。
- 真正的问题不是"人们是否能够阅读手册",而是"企业软件是否应该响应标准的退出顺序",比如,我不知道"退出"?要想戒烟,必须阅读手册,这似乎是严重违反直觉的。
- @事实上,这只是糟糕的用户界面设计(加上傲慢)。人们对奇怪的事情缺乏安全感。
- 更重要的是,这篇文章现在是我谷歌"退出psql"的第一次点击。
- 糟糕的可用性的极好例子(其他伟大的产品)!这就是为什么开发有时如此令人沮丧…
- 谢谢。尝试退出,退出,再见……然后退出退出。最终h寻求帮助,但是?是我应该用的…
- @马蒂:我认为,对于这个懒惰的问题和类似的问题,江户十一〔0〕是明智的答案。教人钓鱼等…这就是你删除的那个。
- 对于懒惰问题的其他非懒惰答案:—"我可以知道你的号码吗?"-"是的,当然可以,在电话簿里查一下。")我知道,与其给鱼,不如给鱼竿。但我认为情况并非总是如此——当有人很快需要一条鱼或者/或者是一个素食主义者,而且汤姆叔叔一年只需要一次鱼。最好的答案可能是两者兼顾。因此,在阅读完之后,如果一个人奇迹般地不知道如何退出(或查找其他命令),他/她就会知道如何退出(或查找其他命令)(没有在屏幕上读取信息吗?).
- 我通常会沮丧地退出psql,因为我不知道如何让它做任何事情。这是因为我没有意识到必须在psql中的SQL语句末尾添加;或者它们被认为是不完整的,并且不会被执行。
键入\q,然后按ENTER退出psql。
更新日期:2018年10月19日
从PostgreSQL 11开始,在PostgreSQL命令行界面中添加了关键字"quit和"EDOCX1〔4]),有助于更轻松地离开命令行工具。
- 如果您处于单用户后端模式(--single模式),这将不起作用。相反,使用Kaarel的答案(Ctrl-D)。除了总是在pgsql中工作外,它还可以在大多数其他UNIX shell(python、mysql等)中工作。如果你总是以"标准"的方式做事,你的大脑就不会被琐事弄得乱七八糟了。
- 我确实打过……但在我的机器上,只有在实际连接到数据库之后,它才开始给我一些输出。
- 类型?如果只是"帮助"没有帮助的话。这是一个如何不创建人机交互的闪亮例子。谁想到这个伟大的想法?是否需要帮助并退出?
- ctrl-d也有帮助
- 从PostgreSQL 11开始,您现在可以键入"quit"或"exit"。
- @是的,他们几个月前就宣布了:stackoverflow.com/a/50513432/5070879
我通常的关键顺序是:
1 2 3 4 5 6 7 8 9 10 11 12 13
| quit()
quit
exit()
exit
q
q()
!q
^C
help
Alt + Tab
google.com
Quit PSQL
\q |
我认为psql命令行的老兵通常会将其缩短为:
- 我自己也试过ctrl-z。它完成了工作,或多或少,但我并不完全满意。:(
- cntrl+d退出任何
- @mjwach ctrl+z只是将进程挂起到后台,几乎肯定不是您想要的。
- postgres=/q postgres-q
ctrl+d是我通常用来退出psql控制台的工具。
- 这几乎适用于所有提示,伙计们!
- 是的。这也适用于bash、sh、ssh、zsh、irb、pry、python、sudo-su、node等。这是退出任何类型外壳的标准方法。
- 不仅仅是贝壳。任何从stdin读取并将空字符串解释为eof的合理健全程序都将接受^d。
- 这对我不起作用,可能是因为我在OSX上使用了dvorak键盘布局。cmd-d和cmd-e(其中d在qwerty上)都不起作用。
- @nessbird ctrl与cmd不同。尝试使用control-d而不是command-d。
尝试:
- ctrl+zabbkbd—发送TSTP信号(TSTP表示"终端停止")。
- ctrl+-发送quit信号
出于好奇心:
- ctrl+d—发送EOF字符。EOF代表"文件结束"。在这种具体的情况下,它从psql子程序中退出,因为shell正在等待用户输入。这不应该是"前进之路",因为它在以下情况下不起作用:
- 之前输入了其他任何字符-尝试输入一些空白,然后按ctrl+d,它不会退出psql。
- 如果根本不需要用户输入
- 没有必要"尝试"任何东西。清楚地退出psql的正确命令是有充分记录的,并且是\q的命令。
- 正如@hobs对\q所说:"如果您处于单用户后端模式(--single),这将不起作用。"相反,使用Kaarel的答案(CtrlD)。imho使用CtrlD也不是解决问题的方法,我解释了上面的原因并提供了一个替代方案。
- 谢谢您!Ctrl+Z是唯一对我有用的命令—我通过隧道连接到一个数据库,这个数据库失去了连接—\q和Ctrl+D都不起作用,但我可以Ctrl+Z然后终止挂起的进程。
对于Linux命令行q+enter。
使用ctrl+d退出也是可行的
基于PostgreSQL 11 Beta 1发布!:
User Experience Enhancements
Another feature that fell into this category was the inability to intuitively quit from the PostgreSQL command-line (psql). There has been numerous recorded complaints of users trying to quit with the quit and exit commands, only to learn that the command to do so was \q.
We have heard your frustrations and have now added the ability to quit the command-line using the keywords quit and exit and hope that quitting a PostgreSQL session is now as enjoyable as using PostgreSQL.
- 坏习惯,到处都是坏习惯
- @随机软件,你能详细说明吗?
- 是的,我的意思是反斜杠是令人满意的,并且与其他内部分号pgsql命令一致,一个命令可以执行\?或\h,继续学习"所有其他"imho
- "有许多记录的投诉"->"反斜杠令人满意"?呵呵。
我了解到可以将q包含在batch.sql文件中,这样就可以让psql从i操作中提前退出。