使用一种自定协议
只要可用的内建协议无法满足一种特定需要,用户就可以创建一种自定义的协议。例如,如果用户需要并行地把Greenplum数据库直接连接到另一个系统,并且在两者之间发送数据流而无需在磁盘上物化系统数据或者使用gpfdist这样的中间进程。
- 用C语言和预定义的API创作发送、接受以及(可选的)验证器函数。这些函数会被编译并且注册在Greenplum数据库中。自定义协议的例子可见自定义数据访问协议实例。
在编写并且编译读写函数到一个共享对象(.so)中之后,声明一个数据库函数指向该.so文件和函数名。
下面的例子使用了编译好的导入和导出代码。
AS '$libdir/gpextprotocol.so', 'myprot_validate'
创建一个访问这些函数的协议。Validatorfunc是可选的。
必要时,把访问权限授予给任何其他用户。
GRANT ALL ON PROTOCOL myprot TO otheruser
在可读或可写外部表中使用该协议。
允许一个用户使用一种受信的协议创建一个可写的外部表
允许一个用户使用一种受信的协议创建一个可读写的外部表
```
上级主题: