IAm*_*aja 48 linux postgresql command-line psql
我正在尝试psql很好地格式化并遵循这里的文档.现在,每当我对包含大量列的表进行查询时,无论我的屏幕有多大,每一行都会溢出到下一行并产生一整页不可读的垃圾.
文档(链接在上面)说有一种方法可以很好地对齐列以获得更可读的输出.
通常,首先psql,我输入:
PSQL
并按Enter键.现在我正在尝试:
psql\pset格式对齐
并得到一个错误:
could not change directory to "/root"
psql: warning: extra command-line argument "aligned" ingored
psql: FATAL: Indent authentication failed for user "format"
Run Code Online (Sandbox Code Playgroud)
关于如何让这些命令行参数为我工作的任何想法?
Szy*_*ski 88
这些不是命令行参数.运行psql.管理以登录数据库(如果需要,则传递主机名,端口,用户和数据库).然后在psql程序中编写它.
示例(下面是两个命令,写第一个,按回车,等待psql登录,写第二个):
psql -h host -p 5900 -U username database
\pset format aligned
Run Code Online (Sandbox Code Playgroud)
使用\x
postgres手册中的示例:
postgres=# \x
postgres=# SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 3;
-[ RECORD 1 ]------------------------------------------------------------
userid | 10
dbid | 63781
query | UPDATE branches SET bbalance = bbalance + $1 WHERE bid = $2;
calls | 3000
total_time | 20.716706
rows | 3000
-[ RECORD 2 ]------------------------------------------------------------
userid | 10
dbid | 63781
query | UPDATE tellers SET tbalance = tbalance + $1 WHERE tid = $2;
calls | 3000
total_time | 17.1107649999999
rows | 3000
-[ RECORD 3 ]------------------------------------------------------------
userid | 10
dbid | 63781
query | UPDATE accounts SET abalance = abalance + $1 WHERE aid = $2;
calls | 3000
total_time | 0.645601
rows | 3000
Run Code Online (Sandbox Code Playgroud)