Глава 56. Написание обёртки сторонних данных

Содержание

56.1. Функции обёрток сторонних данных
56.2. Подпрограммы обёртки сторонних данных
56.2.1. Подпрограммы FDW для сканирования сторонних таблиц
56.2.2. Подпрограммы FDW для сканирования сторонних соединений
56.2.3. Подпрограммы FDW для планирования обработки после сканирования/соединения
56.2.4. Подпрограммы FDW для изменения данных в сторонних таблицах
56.2.5. Подпрограммы FDW для TRUNCATE
56.2.6. Подпрограммы FDW для блокировки строк
56.2.7. Подпрограммы FDW для EXPLAIN
56.2.8. Подпрограммы FDW для ANALYZE
56.2.9. Подпрограммы FDW для IMPORT FOREIGN SCHEMA
56.2.10. Подпрограммы FDW для параллельного выполнения
56.2.11. Подпрограммы FDW для асинхронного выполнения
56.2.12. Подпрограммы FDW для изменения параметризации путей
56.3. Вспомогательные функции для обёрток сторонних данных
56.4. Планирование запросов с обёртками сторонних данных
56.5. Блокировка строк в обёртках сторонних данных

Все операции со сторонней таблицей производятся через созданную для неё обёртку сторонних данных, представляющую собой набор подпрограмм, которые вызывает ядро сервера. Обёртка сторонних данных отвечает за получение данных из удалённого источника данных и передачу их исполнителю запросов Postgres Pro. Чтобы поддерживалось изменение данных в сторонних таблицах, эту операцию также должна выполнять обёртка. В данной главе освещается написание обёртки сторонних данных.

Реализация обёрток сторонних данных, включённых в стандартный дистрибутив, может послужить хорошим примером при написании собственных обёрток. Её вы можете найти в подкаталоге contrib дерева исходного кода. Некоторые полезные детали также можно узнать на странице справки CREATE FOREIGN DATA WRAPPER.

Примечание

В стандарте SQL описан интерфейс для написания обёрток сторонних данных, но Postgres Pro не реализует его, так как это потребовало бы больших усилий, а данный стандартизированный API всё равно не получил широкого распространения.