关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
流计算引擎
灾难恢复
系统配置参数
索引
扩展
SQL 参考
常见问题(FAQ)
注册一个自定义数据访问协议,该协议可在定义数据库外部表时指定。
CREATE [TRUSTED] PROTOCOL <name> (
[readfunc='<read_call_handler>'] [, writefunc='<write_call_handler>']
[, validatorfunc='<validate_handler>' ])
CREATE PROTOCOL 用于将数据访问协议名称与负责从外部数据源读取和写入数据的调用处理程序关联。创建协议必须具备超级用户权限。
CREATE PROTOCOL 命令必须指定读调用处理程序或写调用处理程序。在 CREATE PROTOCOL 命令中指定的调用处理程序必须已在数据库中定义。
协议名称可在CREATE EXTERNAL TABLE命令中指定。
数据库在内部处理文件、gpfdist 和 gpfdist 类型的外部表。有关启用 S3 协议的信息,请参阅 s3:// 协议。有关使用 pxf 协议的信息,请参阅 pxf:// 协议。
任何实现数据访问协议的共享库都必须位于所有数据库段主机上的相同位置。例如,该共享库可在所有主机上通过操作系统环境变量 LD_LIBRARY_PATH 指定的位置存放。您也可在定义处理程序函数时指定位置。例如,在CREATE PROTOCOL命令中定义s3协议时,可将共享对象位置设为$libdir/gps3ext.so,其中$libdir位于$GPHOME/lib目录下。
CREATE PROTOCOL 是一个数据库扩展。