前端之家收集整理的这篇文章主要介绍了
Greenplum的Oracle兼容性函数,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
许多Oracle的
sql函数可以应用到Greenplum
数据库中。Greenplum默认安装完成后并不能使用Oracle的兼容性
函数。 template1=# select nvl(null,2); ERROR: function nvl(unknown,integer) does not exist LINE 1: select nvl(null,2); 在使用任何Oracle兼容
函数之前,你必须为每个
数据库执行下面的安装脚本(示例为testdb
数据库): p
sql -d testdb -f $GPHOME/share/postgre
sql/contrib/orafunc.
sql 当然你也可以卸载Oracle
函数: p
sql -d testdb -f $GPHOME/share/postgre
sql/contrib/uninstall_orafunc.
sql 安装完成后,如果直接在testdb
数据库中使用还会找不到Oracle的相关
函数,比如: testdb=# select nvl(null,8); ERROR: function nvl(unknown,8); ^ HINT: No function matches the given name and argument types. You may need to add explicit type casts. 我们查看schema是
搜索路径: testdb=# show search_path ; search_path ---------------- "$user",public Oracle的兼容
函数都安装在oracompat的schema下面。为了访问这些Oracle
函数,可以指定oracompat前缀或者
修改数据库的
搜索路径: ALTER DATABASE testdb SET search_path = "$user",public,oracompat; 然后重新
登录Greenplum环境: [gpadmin@cdha postgre
sql]$ p
sql -d testdb p
sql (8.2.15) Type "help" for help. testdb=# select nvl(null,8); nvl ----- 8 可以看到Greenplum中可以正常使用Oracle的兼容
函数了。
原文链接:https://www.f2er.com/oracle/213875.html