psql

Posted on:

PostgreSQLのクライアントツールであるpsqlは結果を表示するときにPAGERを利用できます。 PSQLのPAGERを設定するも参照してください。

psql

psqlは、結果を表示するときに最初の行にヘッダーとして列名が表示され、その下に列が|で区切られて表示されます。 ovを利用すると、ヘッダーと列を指定することで、より見やすく表示できます。

以下はPSQL_PAGER の推奨設定例です。 ヘッダー1を指定(-H1)、列の区切りに"|“を指定(-d "|")、カラムモード(-C)を設定します。 画面に収まる場合は、ページャーを終了します(-F)。 列の色を変える(--column-rainbow)のもおすすめです。

また、v0.37.0から追加された列の整列をする--alignオプションを利用すると、列の縮小もできます。

PSQL_PAGER='ov -F -C -d "|" -H1 --column-rainbow --align'

画面ではデフォルトから色を変えてconfig.yamlで以下の設定をしています。

StyleHeader:
  Background: "#23274f"
  Bold: true
StyleColumnHighlight:
  Foreground: "lightcyan"
  Reverse: true
StyleAlternate:
  Background: "#2a2a2a"

psql psql

watch(PostgreSQL 15)

PostgreSQL 15からはwatchが利用できます。 PSQL_WATCH_PAGER には以下の設定を推奨します。 これにより空行で区切られた最後のセクションを表示し続けます。

PSQL_WATCH_PAGER='ov --follow-section --section-delimiter "^$"'

watch watch

expanded output (\x)

拡張出力(\x)で表示のときには、レコード区切りをセクション区切りとして扱うと、レコード区切りでスクロールするため、見やすくなります。

PAGER 'ov -F --section-delimiter "^-"'

\\x \\x

(\x)と\watchを組み合わせることもできます。

watch2 watch2

unaligned (\a)

psql側で\aを指定して、アラインメントなし(列を揃えない)表示にしていもov--alignオプションを指定することで列を揃えることができます。

PSQL_PAGER='ov -F -C -d "|" -H1 --column-rainbow --align'

unalign unalign