私はpsql
をうまくフォーマットするようにしようとしており、ドキュメント here に従っています。現在、多くの列を持つテーブルでクエリを実行すると、画面をどれだけ大きくしても、各行が次の行にオーバーフローし、読み取り不能なジャンクの画面全体が生成されます。
ドキュメント(リンクは上にあります)は、より読みやすい出力のために列をうまく整列させる方法があると言います。
通常、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"
これらのコマンドライン引数をどのように機能させることができるかについてのアイデアはありますか?
これらはコマンドライン引数ではありません。 psqlを実行します。データベースへのログインを管理します(必要に応じてホスト名、ポート、ユーザー、データベースを渡します)。そして、それをpsqlプログラムに書き込みます。
例(以下は2つのコマンドで、最初のコマンドを記述してEnterキーを押し、psqlがログインするのを待って、2番目のコマンドを記述します):
psql -h Host -p 5900 -U username database
\pset format aligned
Postgresマニュアルの\x
例を使用します。
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
psql --pset=format=FORMAT
コマンドラインからクエリを実行するのに最適です。
psql --pset=format=unaligned -c "select bandanavalue from bandana where bandanakey = 'atlassian.confluence.settings';"