tldr :是否可以更改psql
来模仿MySQL CLI,并尊重不当终止的语句?
在MySQL CLI中,当用户未能正确终止语句时,提示更改为指示分号已被忘记(缩进,添加->
):
MariaDB[(none)]> describe testing123
->
如果忘记分号,则Postgres psql
CLI提示符不会更改:
zach=# \dt
List of relations
Schema | Name | Type | Owner
--------+------------+-------+-------
public | testing123 | table | zach
(1 row)
zach=# drop table testing123
zach-# ;
DROP TABLE
zach=#
相反,您只是看不到预期的确认消息(在这种情况下为DROP TABLE
)。因此,这并不是什么都没有,但是如果您不知道要查找的消息还是正在运行的命令甚至没有确认消息,那么可以将其归类为22。
答案 0 :(得分:2)
\set PROMPT2 '-%# '
在会话开始时发出,或者可以将其添加到.psqlrc
文件中
答案 1 :(得分:1)
我决定通过添加以下内容来更新.psqlrc
以模仿MySQL CLI:\set PROMPT2 ' -> '
如果您想从psql
中获得有关您的陈述错误之处的线索,则另一个选择是\set PROMPT2 '[more] %R > '
,它告诉您:
psql是否期望更多输入是因为命令尚未终止,您在/ * ... * /注释中还是在引号或美元转义的字符串[ThoughtBot blog中?