首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在psql中设置最大列宽?

如何在psql中设置最大列宽?
EN

Stack Overflow用户
提问于 2020-10-23 15:32:19
回答 1查看 972关注 0票数 0

如何在psql**?**中截断多个长列--我有多个列,其中一些列很长,我想在一个终端窗口中很容易地将它们都放入其中。\pset format wrapped\pset columns COLUMNS似乎适用于某些情况,但并非所有情况。我主要关心的是character varying列,它似乎没有限制它们的长度或正确地包装它们。它只适用于1字符串的简单情况。

我知道substr()\x,但它们不是最优的。我有很多列,所以每个列上的substr()都太重复了。在这里,表格输出最适合我,所以\x并不是那么容易查看。

示例:

正确设置寻呼机并运行psql

代码语言:javascript
运行
复制
export PAGER=less
export LESS='-iMSx4 -RSFX -e'
psql -d db_foo

设置只适用于最简单的情况:

代码语言:javascript
运行
复制
db_foo=# \pset format wrapped
Output format is wrapped.
db_foo=# \pset columns 5
Target width is 5.
db_foo=# select '01234456789 01234456789 01234456789' as foo;
 foo 
-----
 012.
.344.
.567.
.89 .
.012.
...
(1 row)

 -- OK, output is truncated.

db_foo=# select baz from table_baz limit 2;       
             baz              
-----------------------------------
 Salmon Lightweight, Galaxy v1.0.0
 Salmon quant Galaxy v0.14.1.2
(2 rows)

-- not OK, output is not truncated.

db_foo=# select '01234456789 01234456789 01234456789' as foo, baz from table_baz limit 2;
                 foo                 |             baz              
-------------------------------------+-----------------------------------
 01234456789 01234456789 01234456789 | Salmon Lightweight, Galaxy v1.0.0
 01234456789 01234456789 01234456789 | Salmon quant Galaxy v0.14.1.2
(2 rows)

-- not OK, output is not truncated - even the strings 
-- that were truncated before.

我正在运行macOS 10.14.6,使用:

代码语言:javascript
运行
复制
psql --version
psql (PostgreSQL) 12.3

less --version
less 487 (POSIX regular expressions)

相关:

如何在PostgreSQL中限制列的最大显示长度

如何在PostgreSQL中更改最大列宽?

在psql中显示JSONB结果时,是否有方法设置列的最大宽度?

在psql中显示查询结果时,是否有方法设置列的最大宽度?

还请参见:

PostgreSQL:文档: psql

columns 设置包装格式的目标宽度,以及确定输出是否足够宽以要求寻呼机或在扩展自动模式下切换到垂直显示的宽度限制。零(默认)导致目标宽度由环境变量列控制,如果没有设置列,则导致检测到的屏幕宽度。此外,如果列为零,则包装格式只会影响屏幕输出。如果列为非零,那么文件和管道输出也会被包装到该宽度。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-21 19:20:48

这个问题来自\pset wrapped(在这里描述psql):

psql的...Note不会尝试包装列标题;因此,如果列标题所需的总宽度超过目标,包装格式的行为与对齐格式相同。

columns值设置为超出标题标题宽度的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64503015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档