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

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

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

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

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

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

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

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