暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Greenplum 6 加 oracle兼容插件 orafce

digoal 2018-11-10
1518

作者

digoal

日期

2018-11-10

标签

PostgreSQL , Greenplum , gpdb , oracle 兼容 , orafce , orafunc


背景

orafce插件没有适配gpdb,安装时会有一些小问题。可以修改一下安装成功(本文修改方法并不优雅)。

例子

假设gpdb安装在/usr/local/gpdb目录

安装orafce插件软件:

git clone https://github.com/orafce/orafce cd orafce/ export PATH=/usr/local/gpdb/bin:$PATH export LD_LIBRARY_PATH=/usr/local/gpdb/lib:/usr/local/gpdb/lib/postgresql:$LD_LIBRARY_PATH USE_PGXS=1 make USE_PGXS=1 make install

orafce插件控制文件如下

```
orafce.control

orafce extension

comment = 'Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS'
default_version = '3.7'
module_pathname = '$libdir/orafce'
relocatable = false
```

修改orafce插件

cd /usr/local/gpdb/share/postgresql/extension/ vi orafce--3.7.sql

1、

```

首行增加:

set allow_system_table_mods =on;
```

2、

```
替换

MODULE_PATHNAME


$libdir/orafce

/usr/local/gpdb/lib/postgresql/orafce.so
```

3、

```
替换

decode(

"decode"(
```

截取其中一个已替换的

CREATE FUNCTION "decode"(anyelement, anyelement, text) RETURNS text AS '/usr/local/gpdb/lib/postgresql/orafce.so', 'ora_decode' LANGUAGE C IMMUTABLE;

最后,将其拷贝到所有SEGMENT和master standby节点。

创建orafce插件:

```
[gpadmin@pg11-test ~]$ psql
psql (9.4beta1)
Type "help" for help.

postgres=# create extension orafce ;
CREATE EXTENSION
```

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论