You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL的\d命令能否仅返回单个列的输出?

在psql中仅显示表的列名(替代\d命令的单列输出)

psql自带的\d系列命令没法直接指定只输出单个列(比如仅列名),但可以通过以下几种方法实现类似需求:

方法1:直接查询系统信息表

这是最灵活可控的方式,从PostgreSQL的系统目录中精准提取列名:

SELECT column_name 
FROM information_schema.columns 
WHERE table_schema = 'public' 
  AND table_name = 'users';

如果想要接近\d的带边框格式,可以搭配psql的格式化参数:

psql -c "SELECT column_name AS \"Column\" FROM information_schema.columns WHERE table_schema='public' AND table_name='users';" -A -P footer=off -P border=2

执行后会输出带简单边框的列名列表,和你期望的格式一致。

方法2:启用psql的扩展显示模式

如果只是想在窄终端里更清晰查看信息,不用严格单列输出,可以开启\x模式:

\x on
\d users

此时每个列的属性会以键值对形式单独成行,避免因列数过多导致的排版混乱。

方法3:通过文本工具过滤\d的输出

要是你更习惯用\d命令,可以结合管道和awk这类工具提取列名:

psql -c "\d users" | awk 'NR>2 && $1 != "" {print $1}'

这个命令会跳过\d输出的表头和空行,只提取第一列的列名。


内容的提问来源于stack exchange,提问作者machineghost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:25:01