psqlrc 示例

2022-04-15 17:30:22 浏览数 (1)

代码语言:javascript复制
$ cat .psqlrc  内容如下:


-- 隐藏确认消息
set QUIET
 
-- 检查是否连的pgbouncer,如果是,则不能运行select语句
if `test :DBNAME = pgbouncer && echo 1 || echo 0`
 
    -- 如果是pgbouncer,则提示符如下
    set PROMPT1 '%`date  %H:%M:%S` db: %n@%/n%x%R%# '
 
else
 
    -- 不是pgbouncer,则可以运行select语句
 
    --如果是通过pgbouncer连接的数据库,则%p不是真正的进程号,需要使用pg_backend_pid获取当前session进程号
    SELECT pg_backend_pid() gset
 
    --使用以下提示符格式
    set PROMPT1 '%`date  %H:%M:%S` db: %n@%/, pid:%:pg_backend_pid:n%x%R%# '
 
endif
 
-- 公共设置
set PROMPT2 '%R%# '
pset null '[null]'
 
-- 使用合理的 pager
pset pager always
setenv PAGER 'less -iMFXSx4R'
 
-- 使用unicode边框风格
pset linestyle unicode
 
-- 显示确认消息
unset QUIET
 
-- vim: set ft=sql:

效果如下:

原始出处: ​​https://www.depesz.com/2021/06/23/a-tale-of-making-company-wide-standard-psqlrc/​​

原始内容中,里面加了个function,用于获取PG实例的一些信息(env、role等)。 这里对其做了些精简,只保留了部分通用的配置。

0 人点赞