如何取消Postgres中的错误命令(来自终端)?

时间:2015-09-17 14:15:49

标签: macos command-line terminal

我写了一个错误的命令(我在函数中犯了一个错误,想要在不完成函数的情况下退出它),同时尝试编写一个函数,我想退出它,但终端的命令提示符不会让我。

我试过这个: https://unix.stackexchange.com/questions/45646/how-do-i-exit-or-cancel-a-bad-bash-command

也是这个

stackoverflow.com/questions/12649896/why-doesnt-my-terminal-output-unicode-characters-properly

但是没有一个解决方案有效,我现在处于这种情况(我正在尝试编写一个pgplsql函数,我想结束它,但我不知道如何)

message=# create function add_message(_queue_id integer, _sender_id integer, _receiver_id integer, _payload text)
message-# returns integer as $$
message$# declare
message$# result integer;
message$# begin
message$# ;
message$# ;
message$# ;
message$# ;
message$# sdsd
message$# end
message$# ;
message$# return result;
message$# end
message$# <aa
message$# -ls
message$# ls
message$# abort
message$# v
message$#

我试过了:

ctrl + /
crtl+D
ctrl+Z
ctrl+C
esc key
exit 0
:q

注意:我使用的是具有瑞士 - 德语布局的osx键盘。

2 个答案:

答案 0 :(得分:0)

我意识到这是一篇过时的文章,但这也是我的问题,并且花了一些时间才最终找到答案。通过终端,我相信op表示psql命令行。

我一直在寻找

\r\reset。 重置(清除)查询缓冲区。

https://www.postgresql.org/docs/9.2/app-psql.html

答案 1 :(得分:-1)

从postgresql尝试\q。有关详情,请参阅exit。 或者,对于更激烈的案例: 从另一个终端窗口做

ps

它会给出一个像

这样的列表
  PID TTY           TIME CMD
57839 ttys000    0:00.02 -bash
57838 ttys001    0:00.05 -bash
57840 ttys002    0:00.17 -bash

神圣,这是违规的过程并将其杀死

kill 57839

新终端应该提供更晚的号码。有关详情,请参阅Processes and Daemons