3
Назначение
Представление внешних данных как обычных таблиц
стандарт ISO/IEC 9075-9 (SQL/MED)
поддерживаются SELECT, INSERT, UPDATE, DELETE
триггеры
обычное разграничение доступа (GRANT, REVOKE)
Способ миграции данных из других СУБД
В будущем — механизм для шардинга
вместе с секционированием
В стандарте ISO/IEC 9075-9 (SQL/MED) определяется, каким образом
базы данных SQL должны работать с внешними источниками. При этом
доступ к внешним данным возможен как на чтение, так и на запись.
Внешние данные представлены в PostgreSQL как таблицы, которые
называются внешними или сторонними. С ними можно работать при
помощи обычных команд DML: INSERT, UPDATE, DELETE, SELECT. На
внешние таблицы можно создавать триггеры. А для разграничения прав
используются команды GRANT, REVOKE.
Основное отличие внешних таблиц от обычных в том, что данные
физически не хранятся в БД PostgreSQL, а загружаются из внешней
системы (отправляются во внешнюю систему) при выполнении
запросов.
Обертки сторонних данных могут быть весьма полезны и при миграции
данных в PostgreSQL из других СУБД.
Поддержка внешних данных активно развивается, поскольку (вместе
с секционированием) является одним их компонентов для реализации
шардинга. Идея в том, чтобы секции основной таблицы были
представлены внешними таблицами, физически находящимися на
других серверах. Это можно сделать уже сейчас, но пока не хватает
поддержки двухфазной фиксации, параллельного доступа к секциями
и других составляющих.