第 57 章 编写一个外部数据包装器

目录

57.1. 外部数据包装器函数
57.2. 外部数据包装器回调例程
57.2.1. 用于扫描外部表的FDW例程
57.2.2. 用于扫描外部连接的 FDW 例程
57.2.3. 用于规划扫描/连接后处理的 FDW 例程
57.2.4. 更新外部表的FDW例程
57.2.5. FDW Routines for TRUNCATE
57.2.6. 用于行锁定的 FDW 例程
57.2.7. EXPLAIN的FDW例程
57.2.8. ANALYZE的FDW例程
57.2.9. IMPORT FOREIGN SCHEMA的 FDW 例程
57.2.10. 并行执行的 FDW 例程
57.2.11. FDW Routines for Asynchronous Execution
57.2.12. 用于路径重新参数化的FDW例程
57.3. 外部数据包装器助手函数
57.4. 外部数据包装器查询规划
57.5. 外部数据包装器中的行锁定

所有在一个外部表上的操作都通过它的外部数据包装器来处理,外部数据包装器由一组被核心服务器调用的函数组成。外部数据包装器负责从远程数据源取得数据并把它返回给PostgreSQL执行器。如果要支持更新外部表,包装器也需要处理更新。本章将介绍如何编写一个新的外部数据包装器。

在你试图编写你自己的外部数据包装器时,包含在标准发布中的外部数据包装器会是很好的参考。请看看源代码树的contrib子目录。CREATE FOREIGN DATA WRAPPER参考页也会有很多有用的细节。

注意

SQL 标准声明了一个接口用来编写外部数据包装器。但是,PostgreSQL 没有实现该 API,因为将其纳入到 PostgreSQL 中的工作量将会很大,并且标准的 API 并没有得到广泛地采用。