postgresql - 在 psql 中显示查询结果时,有没有办法设置列的最大宽度?

标签 postgresql psql

我遇到的问题是我有一个包含 10 列的表。其中 1 列是 HTML,因此非常长。它太长了,以至于它绕了几行并搞砸了其他有用的输出。通常,我一直在选择除那一列之外的所有列。但是,我开始加入另一个表,现在有大约 20 列。

有没有办法指定最大列宽或在一定数量的字符后截断一列?

我试过 \x。这有点帮助......但在大多数情况下,一切看起来仍然困惑。

最佳答案

你可以通过\pset columns X指定列宽

postgres=# select 'some longer text some longer text some longer text some longer text some longer text some longer text';
┌───────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                               ?column?                                                │
╞═══════════════════════════════════════════════════════════════════════════════════════════════════════╡
│ some longer text some longer text some longer text some longer text some longer text some longer text │
└───────────────────────────────────────────────────────────────────────────────────────────────────────┘
(1 row)

postgres=# \pset format wrapped 
Output format is wrapped.
postgres=# \pset columns 20
Target width is 20.
postgres=# select 'some longer text some longer text some longer text some longer text some longer text some longer text';
┌──────────────────┐
│     ?column?     │
╞══════════════════╡
│ some longer text…│
│… some longer tex…│
│…t some longer te…│
│…xt some longer t…│
│…ext some longer …│
│…text some longer…│
│… text            │
└──────────────────┘
(1 row)

请确定,因此您的寻呼机已配置好 - 设置全局变量:

export PAGER=less
export LESS='-iMSx4 -RSFX -e'

关于postgresql - 在 psql 中显示查询结果时,有没有办法设置列的最大宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30272328/

相关文章:

arrays - 联结表与外键数组?

PostgreSQL 9.3 : How to insert upper case UUID into table

SQL 在排序列中找到第一个大于 X 的值

postgresql - pg_ctl 命令在 Ubuntu 20.04 Postgres 14 上没有响应

Postgresql 和 Vault。错误 : permission denied for relation example

python - 将 Python 列表组合在一起以获得公共(public)元素

sql - Postgres : on conflict with implicit conflict target

postgresql - 无法连接到 AWS RDS 还原实例

ruby-on-rails - 在 Rails 中检索数据库记录

Postgresql 是在本地运行并在 Unix 域上接受连接的服务器