Внешние данные

5.10. Внешние данные

PostgreSQL реализует части спецификации SQL/MED, которые позволяют вам, используя обычные SQL запросы, получить доступ к данным, которые находятся за пределами PostgreSQL. Такие данные называются внешние данные. (Обратите внимание, чтобы вы не путали это название с внешними ключами, которые являются одним из видов ограничений целостности внутри СУБД.)

Доступ к внешним данным осуществляется при помощи обработчика внешних данных. Обработчик внешних данных — это некая библиотека, которая может устанавливать соединение с внешними источниками данных, скрывая подробности подключения к источнику данных и извлечения данных из него. В модуле contrib, есть обработчик внешних данных, который может читать обычные файлы с данными, расположенными на сервере. Другие виды внешних обработчиков данных можно найти как отдельные продукты. Если не существует походящего для вас обработчика внешних данных, вы можете написать его сами; см. Chapter 50.

Чтобы получить доступ к внешним данным, вам необходимо создать объект внешний сервер, который определит как подключаться к конкретному источнику данных, в соответствии со списком опций, используемых конкретным обработчиком внешних данных. Затем, вам понадобится создать одну или более внешних таблиц, которые определят структуру удалённых данных. Внешняя таблица может быть использована в запросах как самая обычная таблица, но внешняя таблица не хранится сервером PostgreSQL. Таким образом, когда она используется, PostgreSQL запрашивает обработчик внешних данных, чтобы получить данные из внешнего источника.

Доступ к удалённым данным может требовать авторизации на внешнем источнике данных. Эта информация может быть предоставлен с помощью механизма user mapping, который может предоставлять дополнительные опции, основанные на текущей роли PostgreSQL.

В настоящий момент, внешние таблицы доступны только для чтения. Данное ограничение может быть исправлено в будущих версиях.

Back to top

(С) Виктор Вислобоков, 2008-2023