.. _oraclefdw-使用说明: ORACLE_FDW 使用说明 =================== .. note:: 此插件目前只支持 Yukon for Postgres 版本,安装包中包含有此插件。 安装 ---- **编译安装** 1. 下载源码 可以从 oracle_fdw 的 `github `__ 下载最新的源码 2. 导出环境变量 oracle_fdw 安装时需要 ``pg_config`` 和 ``oracle`` 库的相关支持。 .. code:: export PATH=$PATH:../pg_confg_path export ORACLE_HOME=/usr/lib/oracle/21/client64 3. 编译、安装 开始编译前,可以使用 ``pg_config`` 查看其路径是否正确。使用如下命令开始编译并安装。 .. code:: make make install 使用说明 -------- 快速使用 ~~~~~~~~ 1. 创建 oracle_fdw 扩展 .. code:: create extension oracle_fdw; 2. 创建外部服务器 .. code:: CREATE SERVER oracleserver FOREIGN DATA WRAPPER oracle_fdw OPTIONS ( dbserver '192.168.13.179:1521/orcl', isolation_level 'read_only', nchar 'off'); 3. 添加使用权限 .. code:: -- 添加使用权限 GRANT USAGE ON FOREIGN SERVER oracleserver TO supermap; 4. 创建用户映射 .. code:: -- 创建用户映射 CREATE USER MAPPING FOR postgres SERVER oracleserver OPTIONS (user 'oracle', password '123456'); 5. 导入模式/创建外部表 .. code:: -- 创建模式 create schema oracle_schema; -- 从外部 server 导入 IMPORT FOREIGN SCHEMA "SCHEMA" FROM SERVER oracleserver INTO oracle_schema OPTIONS (case 'lower'); 6. 查询数据 .. code:: 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: 将所有导入的表设置为只读 更多说明看参考官方文档说明