5.12. Внешние данные#

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

5.12. Внешние данные #

Tantor SE реализует частично спецификацию SQL/MED, позволяя получать доступ к данным, которые находятся вне PostgreSQL, с помощью обычных SQL-запросов. Такие данные называются внешними данными. (Обратите внимание, что такое использование не следует путать с внешними ключами, которые являются типом ограничения в базе данных).

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

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

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

Для получения дополнительной информации см. CREATE FOREIGN DATA WRAPPER, CREATE SERVER, CREATE USER MAPPING, CREATE FOREIGN TABLE и IMPORT FOREIGN SCHEMA.