在 psql 提示符中显示事务状态

psql 的提示符中添加一个可视标识符来显示您当前是否处于事务块中

testdb=# \set PROMPT1 '%/%R%x%# '

testdb=# BEGIN; BEGIN
testdb=*# SELECT 'Hello World!'; ?column? -------------- Hello World! (1 row) testdb=*# COMMIT; COMMIT
testdb=# BEGIN; BEGIN
testdb=*# SELECT error; ERROR: column "error" does not exist LINE 1: SELECT error; ^ testdb=!# ROLLBACK; ROLLBACK

如果在事务块中,%x 令牌将使 psql 显示 *(星号),如果事务失败,则显示 !(感叹号),如果事务处于未知状态(例如由于数据库连接断开),则显示 ?(问号)。

有关更多详细信息,请参阅 psql 文档页面提示 部分。