oracle_fdw 组件的版本变更


写这篇帖子时:oracle_fdw-1.0.0 正式版是最新的版本


我们系统目前部署使用的版本为 oracle_fdw-0.9.5。
oracle_fdw-0.9.9 (beta ) 
    开始支持pg9.3
oracle_fdw-0.9.10 (beta)  
    支持对外部表的 Insert ,delete ,update ,当前只对postgresql9.3 版本有效
    增加表操作项 readonly (当值设置为 true|on|yes 表示不可以做增删改操作)  默认值false
    对于postgresql9.2 这些选项虽然没有起到作用,但是建议将值设置为 (true|on|yes)
    增加列操作项key ( 当需要对外部表进行delete,update 时 ,对表的主键所含的所有列  需要设置 key 值为 yes|on|true) 默认值false
   CREATE FOREIGN TABLE oratab (
          id        integer            OPTIONS (key 'true')  NOT NULL,                       
          text      character varying(30),                    

         floating  double precision  NOT NULL       
     ) SERVER oradb OPTIONS (schema 'ORAUSER', table 'ORATAB' , readonly 'yes');

oracle_fdw-1.0.0
    添加函数oracle_diag(name) 用于打印一些版本信息
    select * from oracle_diag('ora_cyp') 
    "oracle_fdw 1.0.0, PostgreSQL 9.3.4, Oracle client 11.2.0.1.0, Oracle server 10.2.0.4.0"

   select * from oracle_diag()
    "oracle_fdw 1.0.0, PostgreSQL 9.3.4, Oracle client 11.2.0.1.0, ORACLE_HOME=/data/oracle/product/11.2.0/client"
    
    当从旧版本升级到新版本的ora_fdw 时,请使用 alter extension oracle_fdw update  ; 进行更新

    对postgresql9.4 版本支持在trigger 中使用 外部表。


注意点:
 在 oracle_fdw-0.9.5 时 ,建外部表 table 选项 表的名字可以用小写,在新版本中,表名必须用大写,否则会报如下错误
ERROR:  Oracle table "pdl_ad" for foreign table "ora_pdl_ad" does not exist or does not allow read access
DETAIL:  ORA-00942: table or view does not exist
HINT:  Oracle table names are case sensitive (normally all uppercase).


当oracle 版本是11gr2 以上版本 ,如果使用oracle_fdw 往新表插入第一笔数据时会引发serialization error错误
这个是由于11.2 版本的一个新特性 deferred segment creation ,当建表时只在数据字典中记录,只有当该表生成记录时才分配空间
SQL> show parameter deferred_segment_creation;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     TRUE


为避免这种情况发生,可以在oracle 建表时指定 create table 。。。  SEGMENT CREATION IMMEDIATE

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-1721329/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-1721329/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值