日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

您可以使用oracle_fdw插件與外部的Oracle數據庫進行交互。

前提條件

  • oracle_fdw依賴于Oracle Instant Client的動態鏈接庫與Oracle數據庫服務器進行交互。

  • 可以與oracle_fdw插件協同工作的Oracle Instant Client版本如下所示:

    • 11.2

    • 12.1、12.2

    • 18.3、18.5

    • 19.3、19.6、19.8、19.9、19.10、19.11、19.12、19.14

    • 21

    說明

    使用前,請您自行查閱Oracle官方文檔中Instant Client版本與數據庫服務器版本之間的兼容矩陣,確保客戶端與服務器之間可兼容交互。

簡介

oracle_fdw是一個開源第三方插件,是PolarDB PostgreSQL版(兼容Oracle)的一個外部數據包裝器FDW(Foreign Data Wrapper)。

使用指南

  1. 創建插件。

    CREATE EXTENSION oracle_fdw;
  2. 創建外部Oracle數據庫服務器。

    配置Oracle數據庫的連接信息,創建PolarDB PostgreSQL版(兼容Oracle)到Oracle的映射。示例如下:

    CREATE SERVER oradb
    FOREIGN DATA WRAPPER oracle_fdw
    OPTIONS (dbserver '//host:port/dbname');

    創建外部Oracle數據庫服務器參數說明如下:

    參數

    說明

    是否必填

    dbserver

    Oracle數據庫的連接串,包含IP地址端口號數據庫名

    isolation_level

    事務隔離級別,默認為SERIALIZABLE

    可選的參數類型如下:

    • serializable:序列化。

    • read_committed:讀已提交。

    • read_only:只讀。

    nchar

    是否在Oracle端開啟字符轉換。

    說明

    修改可能會影響性能。

  3. 創建用戶映射。

    PolarDB PostgreSQL版(兼容Oracle)的用戶pguser與對應Oracle數據庫的用戶orauser進行映射。需要配置Oracle數據庫用戶的用戶名密碼。示例如下:

    CREATE USER MAPPING
    FOR pguser SERVER oradb
    OPTIONS (user 'orauser', password 'orapwd');

    創建用戶映射參數說明如下:

    參數

    說明

    是否必填

    user

    Oracle數據庫用戶的用戶名。

    password

    Oracle數據庫用戶的密碼。

    說明

    如果您不想在PolarDB PostgreSQL版(兼容Oracle)中存儲Oracle用戶的憑證,可以設置user為空字符串,并提供外部授權。

  4. 創建外部表映射。

    PolarDB PostgreSQL版(兼容Oracle)中創建一個外部表,映射到Oracle數據庫的一個已有的表上。示例如下:

    CREATE FOREIGN TABLE oratab (
        id        integer OPTIONS (key 'true') NOT NULL,
        text      character varying(30),
        floating  double precision NOT NULL
    ) SERVER oradb OPTIONS (
        table 'ORATAB',
        schema 'ORAUSER',
        max_long '32767',
        readonly 'false',
        sample_percent, '100',
        prefetch, '200'
    );

    創建外部表參數說明如下:

    參數

    說明

    是否必填

    table

    Oracle數據庫中的被映射表名,一般是大寫。

    dblink

    被映射表的數據庫鏈接,必須與Oracle系統目錄中的完全一致。

    schema

    Oracle用戶名,需要大寫,用于訪問不屬于當前連接用戶的表。

    max_long

    限制Oracle表中 LONGLONG RAWXMLTYPE類型列的最大長度。

    sample_percent

    PostgreSQL用于計算因統計信息而隨機選擇的Oracle表數據的比例(默認100)。

    prefetch

    掃描外表時PostgreSQL與Oracle之間一次性傳輸的數據行數。

    key

    當前列是否包含在主鍵約束中。

    strip_zeros

    數據傳遞時,是否去除字符串后的ASCII 0字符(在Oracle中合法,在PostgreSQL中非法)。

    說明
    • 外部表的結構定義需要與Oracle數據庫上的被映射表的結構完全一致。

    • oracle_fdw對PolarDB PostgreSQL版(兼容Oracle)到Oracle的數據類型映射,請參見類型映射表格

  5. 使用方法。

    您可以使用操作PolarDB PostgreSQL版(兼容Oracle)普通表相同的方式來操作外部表,從而操縱遠程Oracle數據庫中的表。

  6. 卸載插件。

    DROP EXTENSION oracle_fdw;

類型映射表格

在oracle_fdw插件中,PolarDB PostgreSQL版(兼容Oracle)與Oracle兩種數據庫的數據類型映射如下:

Oracle類型

可能的PostgreSQL類型

CHAR

char, varchar, text

NCHAR

char, varchar, text

VARCHAR

char, varchar, text

VARCHAR2

char, varchar, text, json

NVARCHAR2

char, varchar, text

CLOB

char, varchar, text, json

LONG

char, varchar, text

RAW

uuid, bytea

BLOB

bytea

BEILE

bytea (read-only)

LONG RAW

bytea

NUMBER

numeric, float4, float8, char, varchar, text

NUMBER(n,m) with m<=0

numeric, float4, float8, int2, int4, int8, boolean, char, varchar, text

FLOAT

numeric, float4, float8, char, varchar, text

BINARY_FLOAT

numeric, float4, float8, char, varchar, text

BINARY_DOUBLE

numeric, float4, float8, char, varchar, text

DATE

date, timestamp, timestamptz, char, varchar, text

TIMESTAMP

date, timestamp, timestamptz, char, varchar, text

TIMESTAMP WITH TIME ZONE

date, timestamp, timestamptz, char, varchar, text

TIMESTAMP WITH LOCAL TIME ZONE

date, timestamp, timestamptz, char, varchar, text

INTERVAL YEAR TO MONTH

interval, char, varchar, text

INTERVAL DAY TO SECOND

interval, char, varchar, text

XMLTYPE

xml, char, varchar, text

MDSYS.SDO_GEOMETRY

geometry (PostGIS)

相關參考

更多oracle_fdw高級使用方法,請參見oracle_fdw的官方文檔