PSQL命令行结束从=>更改为(>

时间:2018-07-04 14:10:07

标签: postgresql psql

我试图执行从\ e命令编写的查询,但现在我无法执行任何查询,但可以在PSQL中执行命令。

the problem at hand

现在我注意到了,我键入的命令现在在\ e中。

state of \e

当我关闭\ e(尝试运行它)时,问题开始了。

2 个答案:

答案 0 :(得分:3)

psql提示会根据下一个期望的输入而变化。提示符为actually customisable, as documented here,但PROMPT2的默认值(“在命令输入期间需要更多输入时发出”)包含%R,其解释为:

  

在提示符2中,%R被一个字符替换,该字符取决于psql期望更多输入的原因:-如果命令尚未终止,则*,如果*未完成/ * ... * /注释,则a如果有未完成的引号字符串,则为单引号;如果有未完成的引号标识符,则为双引号;如果有未完成的美元引号,则为美元符号;或者(如果有左括号不匹配,则为

因此(>提示告诉您在查询中的某个地方,您打开了(,而psql在解析输入之前仍在等待匹配的)

答案 1 :(得分:1)

您打开了圆括号,但从未将其关闭,并且psql不在等待语句结束。

尝试输入);来关闭括号(并得到一条错误消息)。

如果您完全迷路了,可以使用psql退出\q