【发布时间】:2018-01-03 06:38:35
【问题描述】:
我希望从以下位置删除所有画线字符:
PGPASSWORD="..." psql -d postgres -h "1.2.3.4" -p 9432 -c 'show pool_nodes' -U owner
node_id | hostname | port | status | lb_weight | role
---------+---------------+------+--------+-----------+---------
0 | 10.20.30.40 | 5432 | 2 | 0.500000 | primary
1 | 10.20.30.41 | 5432 | 2 | 0.500000 | standby
(2 rows)
添加-t 选项会去掉页眉和页脚,但竖线仍然存在:
PGPASSWORD="..." psql -t -d postgres -h "1.2.3.4" -p 9432 -c 'show pool_nodes' -U owner
0 | 10.20.30.40 | 5432 | 2 | 0.500000 | primary
1 | 10.20.30.41 | 5432 | 2 | 0.500000 | standby
请注意,此问题特定于show pool_nodes 和其他类似的非select SQL 语句。
我目前的解决方法是使用 Linux cut 命令:
<previous command> | cut -d '|' -f 4
问题分为两部分:
- 如何只使用
psql才能去掉上面的竖线? - 如何只使用
psql只能显示特定列(例如status)或列?例如,结果可能只有两行,每行显示数字2。
我在 CentOS 7 服务器上使用 psql 版本 psql (PostgreSQL) 9.2.18。
【问题讨论】:
标签: postgresql psql pgpool