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