psql shell 中 username-# 和 username=# 的区别?

Difference between username-# and username=# in psql shell?

一旦您在终端中输入 psql,用户通常会以 username=# 的形式出现在控制台中。但后来我注意到它说 username-# 其中等号被连字符替换,但它似乎仍然以相同的方式执行。

我知道这是一个简单的问题,但我仍然想知道。这种符号变化有什么特别的意义吗?

这不是用户名,而是您所连接的数据库的名称。通常每个用户都有一个私有数据库,psql默认连接到它。

- 表示您正在编写 SQL 查询,或“缺少结束分号”:

test=# select 1+1
test-# ;
 ?column? 
----------
        2
(1 row)

此外,当您有不匹配的分隔符时,会显示这些:

test=# select (1+1
test(# )
test-# ;
 ?column? 
----------
        2
(1 row)