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

Ubuntu的lxterminal中如何让psql命令输出以美观表格展示?

如何在终端中让psql(及MySQL)的查询输出以美观表格展示

我之前也碰到过在lxterminal里用psql查询输出乱成一团的情况,特别是查information_schema.routines这种列超多的表,完全没法看!下面给你分享几个实用的解决办法,顺便也说下MySQL的对应操作~

针对psql的解决方法

psql默认在输出内容超过终端宽度时,会自动切换到“非对齐”模式,导致格式混乱,我们可以通过以下方式调整:

  • 临时调整会话内的输出格式:在psql交互会话中,输入 \pset format aligned,这会强制启用对齐表格模式,不管内容多长都会保持规整的表格结构。如果终端宽度不够,还可以用 \pset columns 120(把120换成你的终端实际宽度数值)来限制列宽,让内容自动换行但表格结构不变。
  • 一次性执行命令时指定格式:如果不想进入psql交互会话,直接在终端执行命令时加上格式参数,比如:
    psql -d 你的数据库名 -c "SELECT * FROM information_schema.routines;" --pset=format=aligned
    
  • 永久设置默认格式:修改用户目录下的~/.psqlrc文件(如果没有就新建一个),添加以下内容,这样每次打开psql都会默认用美观的表格输出:
    # 设置对齐表格格式
    \pset format aligned
    # 使用Unicode边框,表格更美观
    \pset linestyle unicode
    # 显示完整边框
    \pset border 2
    

针对MySQL的解决方法

MySQL命令行也会碰到类似的输出混乱问题,对应的解决方式如下:

  • 启动时直接启用表格模式:启动MySQL客户端时加上--table参数,比如:
    mysql -u 你的用户名 -p --table 你的数据库名
    
    这样查询输出会自动以对齐的表格形式展示。
  • 会话内调整输出方式:
    • 如果已经在MySQL交互会话中,可以输入 \P less -S,让输出通过less分页显示,-S选项允许横向滚动,避免内容换行打乱表格结构。
    • 对于MySQL 8.0及以上版本,还可以直接执行 SET session result_format=TABLE; 来强制启用表格输出模式。
  • 竖排显示替代方案:如果列实在太多,表格显示还是拥挤,可以用\G代替分号结尾,比如:
    SELECT * FROM 你的表名 \G
    
    这样每一行的字段和值会垂直排列,可读性会好很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:23:57