Skip to content

第 59 章. 编写外键数据包装器

目录

59.1. 外键数据包装器函数
59.2. 外键数据包装器回调例程
59.2.1. 用于扫描外键表的 FDW 例程
59.2.2. 用于扫描外键联接的 FDW 例程
59.2.3. 用于规划扫描后/联接后处理的 FDW 例程
59.2.4. 用于更新外键表的 FDW 例程
59.2.5. 用于 TRUNCATE 的 FDW 例程
59.2.6. 行锁定 FDW 例程
59.2.7. EXPLAIN 的 FDW 例程
59.2.8. ANALYZE 的 FDW 例程
59.2.9. IMPORT FOREIGN SCHEMA 的 FDW 例程
59.2.10. 并行执行的 FDW 例程
59.2.11. 异步执行的 FDW 例程
59.2.12. 路径重新参数化的 FDW 例程
59.3. 外部数据包装器帮助器函数
59.4. 外部数据包装器查询计划
59.5. 外部数据包装器中的行锁定

外部表上的所有操作都通过其外部数据包装器处理,该包装器由核心服务器调用的函数集组成。外部数据包装器负责从远程数据源获取数据并将其返回给PostgreSQL执行器。如果要支持更新外部表,包装器也必须处理此操作。本章概述如何编写新的外部数据包装器。

编写自己的外部数据包装器时,标准发行版中包含的外部数据包装器是不错的参考。查看源树的contrib子目录。CREATE FOREIGN DATA WRAPPER参考页也有一些有用的详细信息。

注意

SQL 标准指定了编写外部数据包装器的接口。但是,PostgreSQL 并未实现该 API,因为将其纳入 PostgreSQL 的工作量很大,而且该标准 API 并未得到广泛采用。