【问题标题】:How do I cancel a bad command in Postgres (from terminal)?如何取消 Postgres 中的错误命令(从终端)?
【发布时间】:2015-12-14 10:57:38
【问题描述】:

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

我试过这个: 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 键盘。

【问题讨论】:

  • “一个错误的命令”?到什么?你在使用一些 pgplsql 交互式客户端吗?
  • 我开始写一个plsql函数,犯了一个错误,我想不完成就退出,所以我想知道一般如何在不完成的情况下退出命令。
  • 你用什么程序来写这个函数?
  • 我正在使用终端,但正在运行 postgresql
  • postgresql是一个交互式客户端程序?

标签: macos command-line terminal


【解决方案1】:

我知道这是一篇旧帖子,但这也是我的问题,花了一些时间才最终找到答案。通过终端,我相信 op 意味着 psql 命令行。

\r\reset 是我想要的。 重置(清除)查询缓冲区。

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

【讨论】:

    【解决方案2】:

    从 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 了解更多信息。

    【讨论】:

    • 如果我这样做 \q 不会完全退出 psql 吗?
    • @LoveMeow 你是认真的吗?
    • @robert 还有其他类似 ctrl-d 的东西,它只是退出当前命令吗?
    • 程序可以控制所有字符,所以这真的取决于 postgresql 的作用。因此,您可以了解有关 postgresql 的更多信息,或者重新开始(杀死甚至重新启动都会这样做。)这完全取决于您想要将学习曲线投入到哪里。您也可以尝试输入一堆 ')' 和 '}' 看看是否会完成您开始输入的内容。
    猜你喜欢
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 2018-07-13
    • 2013-01-27
    • 2018-02-28
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多