Г Внутренние переменные psql
Приложение Г. Внутренние переменные psql
Клиент psql использует несколько специальных системных переменных, управляющих различными аспектами работы программы. Особого внимания заслуживают переменные PROMPT1, PROMPT2 и PROMPT3, в которых хранится информация о конфигурации приглашений программы. Во время работы программы значения этих переменных задаются и уничтожаются командами \set и \unset. Ниже перечислены все специальные переменные psql.
- DBNAME. Имя базы данных, к которой в настоящий момент подключен клиент psql. Значение переменной задается при подключении к базе данных при запуске клиента или при подключении в процессе текущей работы.
- ECHO. Переменная управляет выводом на экран при выполнении команд, содержащихся в файле. Чтобы все команды выводились на экран по мере чтения из файла, присвойте этой переменной значение all. Чтобы на экран выводились все запросы, передаваемые серверному процессу, присвойте переменной значение queries.
- ECHO_HIDDEN. Если эта переменная равна true, клиент psql выводит на экран все запросы, используемые управляющими командами. Вывод происходит перед отправкой запросов серверу. Чтобы запросы управляющих команд только выводились на экран без выполнения, присвойте переменной ECHO_HIDDEN значение поехес.
- ENCODING. В переменной хранится информация о расширенной кодировке, используемой базой данных. Для использования расширенных кодировок необходимо указать соответствующий ключ при компиляции PostgreSQL. Если это не сделано, переменная содержит константу SQL_ASCII.
- HISTCONTROL. Переменная определяет режим управления буфером истории psql. Если присвоить ей значение ignorespace, в истории игнорируются все строки, начинающиеся с пробелов. Если переменная равна ignoredups, в истории игнорируются все записи, совпадающие с предыдущими записями. При значении ignoreboth игнорируются как строки с пробелами, так и дубликаты.
- HISTSIZE. Переменная задает длину буфера истории. По умолчанию длина буфера равна 500 строкам.
- HOST. Хостовое имя сервера базы данных, к которому клиент подключен в настоящий момент. Значение переменной задается при подключении к базе данных при запуске клиента или при подключении в процессе текущей работы.
- IGNOREEOF. Переменная управляет обработкой символов EOF в psql. В обычной ситуации при получении символа EOF приложение завершается. Чаще всего этот символ генерируется нажатием клавиш Ctrl+D. Присваивая этому ключу любое нечисловое значение, вы сообщаете psql, что символ EOF следует игнорировать до 10 повторений. Также можно присвоить этой переменной числовое значение; в этом случае psql игнорирует указанное количество символов EOF.
- LASTOID. Последний идентификатор объекта (OID), заданный командой INSERT или функцией lo_import(}.
- L0_TRANSACTION. Операция, выполняемая psql при работе с большими объектами. Допустимые значения перечислены ниже.
- rollback. При попытке выполнения операции с большим объектом (или при импортировании больших объектов) транзакция автоматически откатывается. По соображениям эффективности операции с большими объектами обычно выполняются в отдельных транзакциях, поэтому переменная L0_TRANSACTION по умолчанию равна rol Iback.
- commit. Клиент psql автоматически фиксирует транзакцию, начатую перед операцией с большим объектом.
- nothing. Клиент psql выполняет операцию с большим объектом в текущей транзакции.