在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.