Настройки консоли PostgreSQL

В названии слишком громко сказано. Настраивать будем не всю консоль, я только строку приглашения (PROMPT)
Зачем это нужно? Зачастую бывает что откртыто в разных окошках по несколько баз данных. Одна отладочная, другая боевая… И можно совершенно случайно запустить запрос не на той базе. Да, возможно это не совсем правильно держать постоянно открытой консоль боевой базы. Но лень двигатель прогресса. Поэтому возникает задача как-то обозначить где какая база. Легче всего это сделать через разное оформление строки приглашения (PROMPT), которую показывает psql.

По умолчанию psql показывает в prompt имя базы в таком же оформлении что и весь текст в консоли. Но то что там показывать можно поменять. Впрочем как и цвет текста и фон.

Для этого в psql надо поменять переменную окружения PROMPT1. Делается это с помощью команды \set в консоли

\set PROMPT1 value

Или через параметр —set в коммандной строке при запуске psql

--set PROMPT1='value'

Значением параметра могжет быть строка содержащая коды подстановки postgres — которые позволяют задать данные подключения:
Например:

%n - имя пользовател
%/ - имя текущй базы
%M -полное имя хоста базы данных.

Подробнее можно посмотреть в документации — раздел Prompting.

Так же помимо данных подключения можно использовать специальные символы для задания цвета текста, его формления и фона. Делается это аналогично параметров PROMPT для шелла. Лучше рассмотреть это на примере.

Я использую следующую команду:

\set PROMPT1 '%[%033[1;31;47m%]%n@%/%R%[%033[0m%]%#'

В результате выводится имя пользователя и имя базы в виде «user@base». Выводится это жирным красным цветом на белом фоне.
За оформление текста отвечает последовательность «1;31;47»
Здесь первая цифира это код оформления текста:

0 - нормальный
1 - полужирный
2 - нормальный
3 - фонового цвета
4 - подчеркнутый
5 - мигающий

Вторая и третья цифра определяют цвет текста и цвет фона соответственно.
Коды цветов:

30 - черный
31 - красный
32 - зеленый
33 - желтый
34 - синий
35 - фиолетовый
36 - бирюзовый
37 - белый

Код цвета фона можно получить добавив 10 к цвету текста.

Не всегда все коды могут сработать корректно — во многом зависит от используемого терминала. Поэтому лучше экспериментировать.

Запись опубликована в рубрике Полезности с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий