Самоучитель по SQL-сервер в Linux

         

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

Кроме непосредственного ввода запросов в приглашении, в 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.




Содержание раздела