psql 从 table=# 更改为 table(#

psql changes from table=# to table(#

如果我在进度中输入了错误的内容 table=# 更改为 table-# 或 table(# 并且正常命令不再有效,我该如何找回到 table=#?

在 psql 中,Ctrl + C 取消您当前正在编写的命令并返回到提示符。

您试图 运行 一个括号不平衡的语句。

因此 psql 认为您将要编写更多相同的语句并正在等待输入。

psql 不会将分号视为语句结束时有一个开引号字符串,有不平衡的括号等,因为在这种情况下有时分号会出现在语句中。所以 ;` 不会起作用。

craig=> CREATE TABLE (
craig(> 
craig(> ;
craig(> 

使用\r\reset清除进行中的查询缓冲区。

Control-C 具有相同的效果,但它还会取消发送到服务器的正在进行的语句,并且在 Windows 上它将完全退出 psql。所以你应该更喜欢使用 \r:

craig=> CREATE TABLE (
craig(> 
craig(> ;
craig(> 
craig(> \r
Query buffer reset (cleared).
craig=>