Иллюстрированный самоучитель по PostgreSQL

Загрузка запросов из внешних файлов

Кроме непосредственного ввода запросов в приглашении, в psql предусмотрена возможность создания запросов и команд в файлах с последующей загрузкой их содержимого в текущий буфер. Данная возможность часто используется на практике.

Создайте файл с текстом запроса и запустите psql. Загрузка файлов в буфер запроса производится командой VI. В листинге 6.1 приведен пример загрузки простой команды SELECT из файла в буфер. В данном случае текст запроса отображается на экране, но в вашей системе по умолчанию этого может и не происходить. Чтобы содержимое загружаемого файла выводилось в psql, присвойте переменной ECHO значение all (команда \set ECHO all).

Листинг 6.1. Загрузка файла в текущий буфер.

testdb=# \set ECHO all
testdb=| \i /usr/local/pgsql/query
SELECT * FROM employees WHERE firstname='Andrew';
firstname I lastname I Id
Andrew | Brookins | 100
(1 row)

Возможно, при частом выполнении этой операции удобнее воспользоваться командой \edit.

Библиотеки readline и history

Клиент psql обладает некоторыми возможностями режима командной строки, поддерживаемыми интерпретатором bash: автоматическим завершением команд, обратным поиском и историей команд (файл /home/пользователь/psql_history). Все эти возможности доступны благодаря поддержке библиотеки readline, обеспечивающей эти функции bash.

Если конфигурационный сценарий находит в системе библиотеку readline, то поддержка обратного поиска, завершения и истории команд устанавливается автоматически при компиляции PostgreSQL. Если после компиляции выяснится, что в psql эти возможности отсутствуют, это может объясняться тем, что библиотечные и/или заголовочные файлы находились в нестандартном каталоге. Если вы хотите изменить конфигурацию psql и включить поддержку расширенных средств командной строки, начните с поиска заголовочных файлов (libreadline.h, readline.h и history.h).

Определив местонахождение библиотечных и заголовочных файлов в системе, сообщите эти данных сценарию PostgreSQL configure при помощи следующих ключей:

--with-includes=Kaталог_заголовочных_файлов

--with-11Ь$=каталог_6иблиотечных_файлов

После изменения конфигурации постройте двоичный файл psql заново. Дополнительная информация о настройке конфигурации PostgreSQL приведена в подразделе "Этап 3. Настройка конфигурации" раздела "10 этапов установки PostgreSQL" главы 2.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.