Когда используешь psql
, \d <table>
или select * from XXXX
, после того, как я выйду и вернусь в оболочку, информации там нет, и она мне нужна для выполнения следующей команды все время. Это очень раздражает. Есть ли способ сказать psql
чтобы всегда отображать то, что я только что запросил, и оставлять это на экране?
Если информация исчезает при выходе из пейджера, а вы этого не хотите, измените настройки пейджера. Вы, вероятно, используете less
как ваш пейджер по умолчанию. Самый простой вариант - отключить пагинацию:
\pset pager off
поэтому результаты выводятся напрямую из терминала. Если вы это сделаете, вы захотите установить в своей программе терминала более крупный буфер обратной прокрутки.
Или посмотрите на настройку PAGER
переменную среды на то, что не восстанавливает отображение при выходе из пейджера, например:
export PAGER="less -X"
Вы также можете установить собственный пейджер в своем .psqlrc
если вы только хотите, чтобы это повлияло psql
.
это нить кажется актуальным (перефразируя):
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).
Когда опция пейджера выключена, программа пейджера не используется. Когда опция пейджера включена, пейджер используется тогда, когда это необходимо, т.е. когда вывод выводится на терминал и не помещается на экране. Параметр пейджера также может быть установлен на всегда, в результате чего пейджер будет использоваться для всего вывода терминала, независимо от того, умещается ли он на экране. \ pset pager без значения включает и выключает использование пейджера.