PostgreSQL DBA(137) - PG 13(Allow invisible PROMPT2 in psql)

在PG 12或以下版本,psql通过配置PROMPT2区分同一个命令但有折行的情况,在PG 13中,通过设置%w可使SQL的所有行左对齐。

PG 12

[local:/data/pg12]:5432 pg12@testdb=# \! cat .psqlrc
\set PROMPT1 '%M:%> %n@%/%R%#%x '
\set PROMPT2 '%n@%/%R%#%x '
\x auto
[local:/data/pg12]:5432 pg12@testdb=# select 
pg12@testdb-# 1 + 1;
 ?column? 
----------
        2
(1 row)

PG 13

[local]:5130 pg13@masterdb=# select version();
                                                  version                                                   
------------------------------------------------------------------------------------------------------------
 PostgreSQL 13devel on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
[local]:5130 pg13@masterdb=# \! cat .psqlrc
\set PROMPT1 '%M:%> %n@%/%R%#%x '
\set PROMPT2 '%n@%/%R%#%x '
\x auto
[local]:5130 pg13@masterdb=# 
[local]:5130 pg13@masterdb=# \set PROMPT2 '%w'
[local]:5130 pg13@masterdb=# select 
                             1 + 1;
 ?column? 
----------
        2
(1 row)
[local]:5130 pg13@masterdb=#

参考资料
Waiting for PostgreSQL 13 – Allow invisible PROMPT2 in psql.