ORACLE_FDW 使用说明

Note

此插件目前只支持 Yukon for Postgres 版本,安装包中包含有此插件。

安装

编译安装

  1. 下载源码

    可以从 oracle_fdw 的 github 下载最新的源码

  2. 导出环境变量

    oracle_fdw 安装时需要 pg_configoracle 库的相关支持。

    export PATH=$PATH:../pg_confg_path
    export ORACLE_HOME=/usr/lib/oracle/21/client64
    
  3. 编译、安装

    开始编译前,可以使用 pg_config 查看其路径是否正确。使用如下命令开始编译并安装。

    make
    make install
    

使用说明

快速使用

  1. 创建 oracle_fdw 扩展

    create extension oracle_fdw;
    
  2. 创建外部服务器

    CREATE SERVER oracleserver
        FOREIGN DATA WRAPPER oracle_fdw
       OPTIONS (
           dbserver '192.168.13.179:1521/orcl',
           isolation_level 'read_only',
           nchar 'off');
    
  3. 添加使用权限

    -- 添加使用权限
    GRANT USAGE ON FOREIGN SERVER oracleserver TO supermap;
    
  4. 创建用户映射

    -- 创建用户映射
    CREATE USER MAPPING FOR postgres SERVER oracleserver
             OPTIONS (user 'oracle', password '123456');
    
  5. 导入模式/创建外部表

    -- 创建模式
    create schema oracle_schema;
    -- 从外部 server 导入
    IMPORT FOREIGN SCHEMA "SCHEMA" FROM SERVER oracleserver INTO oracle_schema OPTIONS (case 'lower');
    
  6. 查询数据

    select * from oracle_schema.smdtv_2 s where smid < 100;
    

选项说明

SERVER 选项

  • dbserver (必填):oracle 数据库的连接信息

  • isolation_level (选填):oracle 事务隔离级别,默认为serializable, 可选项:serializable, read_committed ,read_only

  • nchar (选填,布尔型):oracle 字符转换,默认为 off

USER MAPPING 选项

  • user(必填):oracle 用户名

  • password(必填):oracle 密码

外部表选项

  • table(必填):oracle 表名

导入模式选项

  • case:控制在导入外部表时,表名和字段名是否大小写

    • keep: 保持原有大小写形式,一般来说都是大写

    • lower: 将所有的表名和字段名都变成小写

    • smart:只将表名或字段名全部为大写的变为小写,这也是默认选项

  • readonly: 将所有导入的表设置为只读

更多说明看参考官方文档说明