🐕
Linux環境でpsqlのSQL実行結果の文字列折り返しを抑制する設定方法
PostgreSQLにpsqlでアクセスしてSQLを実行すると
実行結果が横に長い場合、自動で折り返して表示されます。
これを抑制するには、psqlの実行前に以下のどちらかの方法で対応するとよいとのことです。
- 環境変数
PAGERをless -Sに設定する。
export PAGER='less -S'
- 環境変数
PAGERをlessに設定しておいて表示中に必要なときに-Sと入力する。
export PAGER='less'
設定変更後にpsqlを起動してSQLを実行すると、自動での行の折り返しが抑制されます。
矢印キーで横に移動できます。
注意点としては、lessコマンドがインストール済みである必要がある点が挙げられます。
lessコマンドの存在確認は以下のコマンドで実行可能です。
command -V less
lessコマンドのオプションとしては他にも便利なものがいくつかあります。
以下のサイトにオプションが見やすく整理されています。
上述の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'
~/.bashrcファイルに追記する場合は、以下のとおりです。
cat >> ~/.bashrc << EOF
export PAGER='less -FXS'
EOF
suで切り替えた際にも有効にするために、以下のように~/.bash_profileに追記します。
cat >> ~/.bash_profile << EOF
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
EOF
Discussion