🐕

Linux環境でpsqlのSQL実行結果の文字列折り返しを抑制する設定方法

2023/08/25に公開

PostgreSQLにpsqlでアクセスしてSQLを実行すると
実行結果が横に長い場合、自動で折り返して表示されます。

これを抑制するには、psqlの実行前に以下のどちらかの方法で対応するとよいとのことです。

  • 環境変数PAGERless -Sに設定する。
export PAGER='less -S'
  • 環境変数PAGERlessに設定しておいて表示中に必要なときに-Sと入力する。
export PAGER='less'

https://qiita.com/take_3/items/2454fedda7723ea1c436

設定変更後にpsqlを起動してSQLを実行すると、自動での行の折り返しが抑制されます。
矢印キーで横に移動できます。

注意点としては、lessコマンドがインストール済みである必要がある点が挙げられます。
lessコマンドの存在確認は以下のコマンドで実行可能です。

command -V less

lessコマンドのオプションとしては他にも便利なものがいくつかあります。
以下のサイトにオプションが見やすく整理されています。
https://hydrocul.github.io/wiki/commands/less.html

上述のQiitaの記事では以下のようなオプションが設定されています。

export PAGER='less -FXS'

設定のリセット

環境変数PAGERのリセットは以下のコマンドで実行可能です。

unset PAGER

以下のコマンドを実行した場合は環境変数からのみ削除され、
シェル変数からは削除されないです。

export -n PAGER

環境変数の確認の例はこちら。

env | grep -E "^PAGER"

シェル変数の確認の例はこちら。

set | grep -E "^PAGER" 

また、PAGERの設定のオンオフをpsqlの以下のコマンドで変更可能です。

\pset pager on
\pset pager off

psql側から以下のようにして環境変数を設定することも可能です。

\setenv PAGER 'less -S'

Discussion