OushuDB同PostgreSQL兼容,提供四类函数。每一类函数都可以带基础数据类型以及复合数据类型为参数,并且可以返回一个基础数据类型或者复合数据类型的值。函数也可以定义为返回基础数据类型或者复合数据类型值的集合。详细用法可参见PostgreSQL具体章节。
查询语言(SQL)函数: https://www.postgresql.org/docs/8.2/xfunc-sql.html
过程语言函数: https://www.postgresql.org/docs/8.2/static/plpgsql.html , https://www.postgresql.org/docs/8.2/static/plpython.html , https://www.postgresql.org/docs/8.2/static/plperl.html 等
内部函数:参考 https://www.postgresql.org/docs/8.2/static/xfunc-internal.html
C语言函数:参考 https://www.postgresql.org/docs/8.2/static/xfunc-c.html
注意事项: OushuDB为了解决可移植性问题,内置了Python2.7。如果需要使用宿主系统上已有的Python2.7和相关的依赖包,可以运行以下命令删除。
hawq ssh -f hostfile -e << EOFtest -f /usr/local/hawq/bin/python && mv /usr/local/hawq/bin/python* /usr/local/hawq/sharetest -d /usr/local/hawq/lib/python2.7 && mv /usr/local/hawq/lib/python2.7 /usr/local/hawq/sharetest -f /usr/local/hawq/lib/libpython2.7.so && mv /usr/local/hawq/lib/libpython* /usr/local/hawq/shareEOF