Оболочка 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).

Если опция пейджера выключена, программа пейджера не используется. Если опция пейджера включена, пейджер используется при необходимости, т. е. когда вывод осуществляется на терминал и не помещается на экране. Опцию пейджера также можно установить на значение always, что приведет к использованию пейджера для всего вывода на терминал независимо от того, помещается ли он на экране. \pset pager без значения включает и выключает использование пейджера.

Связанный контент