postgresシェルは情報を隠し続けます

postgresシェルは情報を隠し続けます

psql\d <table>またはを使用するとselect * from XXXX、終了してシェルに戻った後、情報がそこに存在せず、次のコマンドを常に実行する必要があります。これは非常に煩わしいです。psqlクエリした内容を常に表示して画面に残すように指示する方法はありますか?

答え1

ページャーを終了するときに情報が消えてしまう場合は、ページャーの設定を変更してください。おそらく、ページャーとしてデフォルトで を使用しているでしょうless。最も簡単なオプションは、ページネーションを無効にすることです。

\pset pager off

結果はターミナルから直接ストリーム出力されます。これを行う場合は、ターミナル プログラムでかなり大きなスクロール バック バッファを設定する必要があります。

PAGERあるいは、環境変数を、ページャー終了時に表示を復元しないものに設定することを検討してください。例:

export PAGER="less -X"

.psqlrcのみに影響を与えたい場合は、でカスタム ページャーを設定することもできますpsql

答え2

これ関連があるようです(言い換えると):

The pager is probably not set, see here for more info:

http://www.postgresql.org/docs/9.2/interactive/app-psql.html

ページャ

クエリおよび psql ヘルプ出力用のページャ プログラムの使用を制御します。環境変数 PAGER が設定されている場合、出力は指定されたプログラムにパイプされます。それ以外の場合は、プラットフォームに依存するデフォルト (more など) が使用されます。

pager オプションがオフの場合、ページャ プログラムは使用されません。pager オプションがオンの場合、適切な場合、つまり出力が端末に行われ、画面に収まらない場合にページャが使用されます。pager オプションを always に設定することもできます。この場合、画面に収まるかどうかに関係なく、すべての端末出力にページャが使用されます。値のない \pset pager は、ページャの使用のオン/オフを切り替えます。

関連情報