5.12. Внешние данные#
5.12. Внешние данные
Tantor SE-1С реализует части спецификации SQL/MED, позволяя вам получать доступ к данным, которые находятся вне PostgreSQL, с помощью обычных SQL-запросов. Такие данные называются внешними данными. (Обратите внимание, что это использование не следует путать с внешними ключами, которые являются типом ограничения в базе данных).
Внешние данные получаются с помощью обертки внешних данных. Обертка внешних данных - это библиотека, которая может взаимодействовать с внешним источником данных, скрывая детали подключения к источнику данных и получения данных из него. Некоторые обертки внешних данных доступны в виде модулей contrib
; см. Предметный указатель F. Другие виды оберток внешних данных могут быть найдены в виде продуктов сторонних производителей. Если ни одна из существующих оберток внешних данных не соответствует вашим потребностям, вы можете написать свою собственную; см. Глава 56.
Для доступа к внешним данным необходимо создать объект внешнего сервера, который определяет, как подключиться к конкретному внешнему источнику данных в соответствии с набором опций, используемых ее поддерживающей оберткой внешних данных. Затем необходимо создать одну или несколько внешних таблиц, которые определяют структуру удаленных данных. Внешнюю таблицу можно использовать в запросах так же, как обычную таблицу, но внешняя таблица не имеет хранилища на сервере PostgreSQL. Каждый раз, когда она используется, Tantor SE-1С просит обертку внешних данных получить данные из внешнего источника или передать данные во внешний источник в случае команд обновления.
Для доступа к удаленным данным может потребоваться аутентификация внешнего источника данных. Эту информацию можно предоставить с помощью отображения пользователя, которое может предоставить дополнительные данные, такие как имена пользователей и пароли, на основе текущей роли Tantor SE-1С.
Для получения дополнительной информации см. CREATE FOREIGN DATA WRAPPER, CREATE SERVER, CREATE USER MAPPING, CREATE FOREIGN TABLE и IMPORT FOREIGN SCHEMA.