所有在一个外部表上的操作都通过它的外部数据包装器来处理,外部数据包装器由一组被核心服务器调用的函数组成。外部数据包装器负责从远程数据源取得数据并把它返回给PostgreSQL执行器。如果要支持更新外部表,包装器也需要处理更新。本章将介绍如何编写一个新的外部数据包装器。
在你试图编写你自己的外部数据包装器时,包含在标准发布中的外部数据包装器会是很好的参考。请看看源代码树的contrib
子目录。CREATE FOREIGN DATA WRAPPER参考页也会有很多有用的细节。
SQL 标准声明了一个接口用来编写外部数据包装器。但是,PostgreSQL 没有实现该 API,因为将其纳入到 PostgreSQL 中的工作量将会很大,并且标准的 API 并没有得到广泛地采用。