PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

Chapter 58. 编写外部数据包装器

Table of Contents

58.1. 外部数据包装器函数
58.2. 外部数据包装器回调例程
58.2.1. 用于扫描外部表的 FDW 例程
58.2.2. 用于扫描外部连接的 FDW 例程
58.2.3. 用于规划扫描/连接后处理的 FDW 例程
58.2.4. 用于更新外部表的 FDW 例程
58.2.5. 用于 TRUNCATE 的 FDW 例程
58.2.6. 用于行加锁的 FDW 例程
58.2.7. 用于 EXPLAIN 的 FDW 例程
58.2.8. 用于 ANALYZE 的 FDW 例程
58.2.9. 用于 IMPORT FOREIGN SCHEMA 的 FDW 例程
58.2.10. 用于并行执行的 FDW 例程
58.2.11. 用于异步执行的 FDW 例程
58.2.12. 用于路径重新参数化的 FDW 例程
58.3. 外部数据包装器帮助函数
58.4. 外部数据包装器查询规划
58.5. 外部数据包装器中的行加锁

对外部表的所有操作都通过它的外部数据包装器处理,后者由核心服务器 调用的一组函数组成。 外部数据包装器负责从远程数据源取回数据并把它返回给 PostgreSQL 执行器。 如果要支持更新外部表,包装器也必须处理这一点。 本章概述如何编写一个新的外部数据包装器。

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

Note

SQL 标准为编写外部数据包装器指定了一个接口。 不过,PostgreSQL 没有实现那个 API,因为把它融入 PostgreSQL 的 工作量会很大,而且标准 API 无论如何也没有得到广泛采纳。