psql 扩展显示 - 避免破折号

Áko*_*dra 4 postgresql psql

当我有一个非常宽的列(如 json 文档)并且我使用扩展显示使内容至少部分可读时,我仍然看到非常丑陋的记录分隔符,它似乎想要与最宽的列一样宽,像这样:

有没有办法避开“破折号之海”?

-[ 记录 1]--+---------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------

身份证 | 18

说明 | {json 数据 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}

参数 | {json 数据 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}

姓名 | 富

-[ 记录 2]--+---------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------

身份证 | 19

说明 | {}

参数 | {json 数据 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}

姓名 | 客户请求事件类型

Vao*_*sun 5

为避免破折号海,请使用\pset format unaligned,例如:

t=# \x
Expanded display is on.
t=# \pset format unaligned
Output format is unaligned.
t=# with ts as (select generate_series('2010-01-01'::timestamp,'2010-01-10'::timestamp,'1 day'::interval) s) select array_agg(s) from ts;                 array_agg|{"2010-01-01 00:00:00","2010-01-02 00:00:00","2010-01-03 00:00:00","2010-01-04 00:00:00","2010-01-05 00:00:00","2010-01-06 00:00:00","2010-01-07 00:00:00","2010-01-08 00:00:00","2010-01-09 00:00:00","2010-01-10 00:00:00"}
Time: 0.250 ms
Run Code Online (Sandbox Code Playgroud)

如您所见,没有破折号,但长字符串仍按窗口的长度包裹在线条上(或根本不包裹)。如果是未格式化的字符串,这是解决方案,但您提到了 json - 它可以以一种漂亮的方式进行划分。要这样做而不是在 psql 中使用未对齐的格式,请使用其他函数的jsonb_pretty函数或pretty标志,例如(使用array_to_json(..., true)

t=# with ts as (select generate_series('2010-01-01'::timestamp,'2010-01-31'::timestamp,'1 day'::interval) s) select array_to_json(array_agg(s),true) from ts;
array_to_json|["2010-01-01T00:00:00",
 "2010-01-02T00:00:00",
 "2010-01-03T00:00:00",
 "2010-01-04T00:00:00",
 "2010-01-05T00:00:00",
 "2010-01-06T00:00:00",
 "2010-01-07T00:00:00",
 "2010-01-08T00:00:00",
 "2010-01-09T00:00:00",
 "2010-01-10T00:00:00",
 "2010-01-11T00:00:00",
 "2010-01-12T00:00:00",
 "2010-01-13T00:00:00",
 "2010-01-14T00:00:00",
 "2010-01-15T00:00:00",
 "2010-01-16T00:00:00",
 "2010-01-17T00:00:00",
 "2010-01-18T00:00:00",
 "2010-01-19T00:00:00",
 "2010-01-20T00:00:00",
 "2010-01-21T00:00:00",
 "2010-01-22T00:00:00",
 "2010-01-23T00:00:00",
 "2010-01-24T00:00:00",
 "2010-01-25T00:00:00",
 "2010-01-26T00:00:00",
 "2010-01-27T00:00:00",
 "2010-01-28T00:00:00",
 "2010-01-29T00:00:00",
 "2010-01-30T00:00:00",
 "2010-01-31T00:00:00"]
Time: 0.291 ms
Run Code Online (Sandbox Code Playgroud)

请注意,我仍然使用未对齐的格式来避免“+”...