ITPub博客

首页 > 数据库 > 数据库开发技术 > oracle_fdw 组件的版本变更

oracle_fdw 组件的版本变更

原创 数据库开发技术 作者:babyyellow 时间:2015-07-03 11:20:18 0 删除 编辑

写这篇帖子时: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博客 ” ,链接:https://blog.itpub.net/133735/viewspace-1721329/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
oracle MySQL Postgresql 专职数据库dba。 系统架构师。 mysql 官方认知dba 。 15年专职dba 经验。 潜意识沟通实证者 心理咨询师。 禅修布道者, 禅修指导员。 禅定实证者。

注册时间:2010-12-02

  • 博文量
    367
  • 访问量
    1908885