PostgreSQL: サポートされているデータ型、オブジェクトおよび操作
Oracle GoldenGate for PostgreSQLでは、サポートされるPostgreSQLデータベース・バージョンの初期ロードおよびトランザクション・データの取得と配信がサポートされます。
Oracle GoldenGate for PostgreSQLでは、ソース・データのマッピング、フィルタリングおよび変換がサポートされており、このドキュメントで特に明記されている場合を除き、Oracle GoldenGateでサポートされている他のソース・データベースから導出されたデータのPostgreSQLデータベースへのレプリケーションもサポートされています。
トピック:
親トピック: PostgreSQL
サポートされているデータベース
-
キャプチャおよび配信でサポートされているのはユーザー・データベースのみです。
-
Oracle GoldenGateでは、アーカイブされたログからの取得はサポートされません。
-
取得および配信は、レプリカ、スタンバイ・データベースに対してはサポートされていません。
-
高可用性:
-
Oracle GoldenGate Extractでは、PostgreSQL高可用性構成を使用したプライマリExtractからセカンダリExtractへのシームレスなロール・トランジションはサポートされていません。ただし、手動操作に従って、新しいプライマリExtractからの継続性を提供できます。
-
詳細は、Oracle Supportノート『Oracle GoldenGate Procedures for PostgreSQL HA Failover』(ドキュメントID 2818379.1)で入手可能な詳細を参照してください。
-
サポートされているPostgreSQLデータ型
Oracle GoldenGateでサポートされているPostgreSQLデータ型とこのサポートの制限事項を示します。
-
bigint
-
bigserial
-
bit(n)
-
bit varying(n)
-
boolean
-
bytea
-
char (n)
-
cidr
-
citext
-
date
-
decimal
-
double precision
-
inet
-
integer
-
interval
-
json
-
jsonb
-
macaddr
-
macaddr8
-
money
-
numeric
-
real
-
serial
-
smallint
-
smallserial
-
text
-
time
(タイムゾーンあり/なし) -
timestamp
(タイムゾーンあり/なし) -
uuid
-
varchar(n)
-
varbit
-
xml
サポートの制限事項
-
char
、varchar
、text
またはbytea
データ型の列が主キーまたは一意キーの一部である場合、これらの列の個々の最大長が8191バイトを超えることはできません。 -
主キーの一部であるデータ型
CITEXT
の列は、最大8000バイトのサイズでサポートされます。8000バイトを超える主キーの一部であるCITEXT
列はサポートされません。 -
real
、double
、numeric
、decimal: NaN
入力値はサポートされていません。 -
bit
/varbit
データ型には、次の制限事項が適用されます。-
最大4kの長さがサポートされます。4kより大きい長さの場合、データは切り捨てられ、下位の4kビットのみが取得されます。
-
ソースのbit(n)列は、PostgreSQL以外のターゲットの文字型の列にのみ適用でき、PostgreSQLターゲットの
char
型またはbit/varbit
列に適用できます。
-
-
次の制限事項は、タイムゾーンを指定した
timestamp
とタイムゾーンを指定しないtimestamp
の両方に適用されます。-
データ内にBCまたはADタグのある
timestamp
データはサポートされていません。 -
1883-11-18 12:00:00より古い
timestamp
データはサポートされていません。 -
YEARコンポーネントの数字が4桁を超える
timestamp
データはサポートされていません。 -
timestamp
列のInfinity/-Infinity
入力文字列はサポートされていません。
-
-
interval
を使用する場合の制限事項は、次のとおりです。-
interval
型の列からの混合記号interval
データの取得はサポートされていません。Extractパラメータ・ファイルでDBOPTIONS
ALLOWNONSTANDARDINTERVALDATA
を使用すると、混合符号interval
データ(またはOracle GoldenGateでサポートされない他の形式のinterval
データ)を文字列(標準のinterval
データではなく)として取得できます。次に、Extractパラメータ・ファイルで
DBOPTIONS
ALLOWNONSTANDARDINTERVALDATA
を使用して証跡ファイルに書き込まれるデータの例を示します。
-
+1026-9 +0 +0:0:22.000000
は、1026年、9か月、0日、0時間、0分、22秒と解釈されます。 -
-0-0 -0 -8
は、0年、0か月、0日、8時間として解釈されます。 -
+1-3 +0 +3:20
は、1年、3か月、0日、3時間、20分と解釈されます。
-
-
Replicat: ソースintervalデータが
DBOPTIONS
ALLOWNONSTANDARDINTERVALDATA
を使用して取得され、証跡に文字列として書き込まれた場合、対応するソース列はターゲットのchar
またはbinary
型の列にマップできます。 -
date
の制限事項は次のとおりです。-
データ内にBCまたはADタグのある
date
データはサポートされていません。 -
date
列のInfinity
/-Infinity
入力文字列はサポートされていません。
-
-
text
、json
、xml
、bytea
、char (>8191)
、varchar (>8191)
の列はLOB列として扱われ、次の制限事項があります。-
GETUPDATEBEFORES
を使用する場合、LOB列の変更前イメージは記録されません。 -
NOCOMPRESSUPDATES
を使用する場合、LOB
列は変更された場合のみ変更後イメージに記録されます。
-
-
浮動小数点数の範囲および精度のサポートは、ホスト・マシンによって異なります。通常は有効桁数が16桁の精度ですが、データベースのドキュメントで想定されている近似について確認してください。Oracle GoldenGateでは、サポートされる精度を超える値は丸められるか切り捨てられます。
サポートされていないPostgreSQLデータ型
-
配列
-
box
-
circle
-
コンポジット型
-
ドメイン・タイプ
-
列挙型
-
line
-
lseq
-
オブジェクト識別子タイプ
-
path
-
pg_lsn
-
pg_snapshot
-
point
-
polygon
-
疑似型
-
範囲タイプ
-
tsquery
-
tsvector
-
ユーザー定義型(UDT)
-
https://www.postgresql.org/docs/current/contrib.htmlに一覧表示されている拡張機能および追加提供モジュール
ノート:
Extractパラメータ・ファイルにサポートされていないデータ型の表が含まれている場合、Extractはエラー・メッセージとともに停止します。レプリケーションを再開するには、Extractファイルから表を削除するか、サポートされていないデータ型を含む列を表から削除します。ノート:
拡張機能または追加提供モジュールがサポートされている場合は、サポートされているPostgreSQLデータ型リストに明示的に追加されます。
PostgreSQLについてサポートされているオブジェクトおよび操作
-
Oracle GoldenGate for PostgreSQLでは、DML操作(挿入/更新/削除)のみサポートされます。DDLレプリケーションはサポートされていません。
-
Oracle GoldenGate for PostgreSQLでは、PostgreSQL 11以降から開始した切捨て操作のレプリケーションがサポートされており、ExtractおよびReplicatで
GETTRUNCATES
パラメータが必要です。 -
大/小文字を区別する名前と区別しない名前の使用:
-
引用符で囲まれていない名前は、大/小文字の区別がなく、暗黙的に小文字です。たとえば、
CREATE TABLE MixedCaseTable
とSELECT * FROM mixedcasetable
は同等です。 -
引用符で囲まれた表および列の名前は大/小文字が区別され、Extract、ReplicatおよびOracle GoldenGateコマンドで正しくリストされている必要があります。
たとえば、大/小文字が区別される表名をサポートするには、
TABLE appschema.”MixedCaseTable”
およびADD TRANDATA appschema.”MixedCaseTable”
が必要です。
-
トピック:
表とビュー
取得と配信の対象に含める表は次の要件を満たし、サポートされているPostgreSQLデータ型にリストされたデータ型のみを含む必要があります。
-
Oracle GoldenGate for PostgreSQLでは、ユーザー表からのトランザクションDMLの取得およびユーザー表への配信がサポートされます。
-
Oracle GoldenGate for PostgreSQLでは、パーティション表への配信がサポートされています。
-
グローバリゼーションは、オブジェクト名(表名/スキーマ名/データベース名/列名)および列データでサポートされています。
制限事項:
-
Oracle GoldenGate for PostgreSQLでは、ビューに対する取得および配信はサポートされていません。
-
Oracle GoldenGate for PostgreSQLでは、パーティション表からの取得はサポートされていません。
順序およびIDENTITY列
-
順序は、一方向、双方向および複数方向の実装について、ソース表とターゲット表でサポートされています。
-
GENERATED BY DEFAULT AS IDENTITY
句を使用して作成されたIDENTITY列は、一方向、双方向および複数方向の実装について、ソース表とターゲット表でサポートされています。 -
GENERATED ALWAYS AS IDENTITY
句を使用して作成されたIDENTITY列はターゲット・データベース表ではサポートされていないため、IDENTITYプロパティをターゲット表から削除するか、GENERATED BY DEFAULT AS IDENTITY
に変更する必要があります。 -
双方向および複数方向の実装の場合は、構成内のサーバー数に等しい
INCREMENT BY
値およびそれぞれに異なるMINVALUE
を使用して、IDENTITY列および順序を定義します。たとえば、2つのデータベースのある双方向構成の
MINVALUE
/INCREMENT BY
値は、次のようになります。Database1。
INCREMENT BY
を2にして、MINVALUE
を1に設定します。Database2。
INCREMENT BY
を2にして、MINVALUE
を2に設定します。たとえば、3つのデータベースのある複数方向構成の
MINVALUE
/INCREMENT BY
値は、次のようになります。Database1。
INCREMENT BY
を3にして、MINVALUE
を1に設定します。Database2。
INCREMENT BY
を3にして、MINVALUE
を2に設定します。Database3。
INCREMENT B
Yを3にして、MINVALUE
を3に設定します。