16 PostgreSQLのサポート対象の理解
この章では、Oracle GoldenGate for PostgreSQLでサポートされている機能について説明します。
内容は次のとおりです。
サポートされているデータベース
-
キャプチャおよび配信でサポートされているのはユーザー・データベースのみです。
-
Oracle GoldenGateでは、アーカイブされたログからの取得はサポートされません。
-
取得および配信は、レプリカ、スタンバイ・データベースに対してはサポートされていません。
-
高可用性:
-
Oracle GoldenGate Extractでは、PostgreSQL高可用性構成を使用したプライマリExtractからセカンダリExtractへのシームレスなロール・トランジションはサポートされていません。ただし、手動操作に従って、新しいプライマリExtractからの継続性を提供できます。
-
詳細は、Oracle SupportノートOracle GoldenGate Procedures for PostgreSQL HA Failover (ドキュメントID 2818379.1)で入手可能な詳細を参照してください。
-
親トピック: PostgreSQLのサポート対象の理解
サポートされているPostgreSQLデータ型の詳細
このトピックでは、Oracle GoldenGate for PostgreSQLでサポートされているデータ型とサポートされていないデータ型の両方について説明します。
サポートされている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バイトのサイズまでサポートされています。CITEXTの列は、8000バイトを超えており主キーの一部である場合はサポートされません。 -
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パラメータ・ファイルでDBOPTIONSALLOWNONSTANDARDINTERVALDATAを使用すると、混合符号intervalデータ(またはOracle GoldenGateでサポートされない他の形式のintervalデータ)を文字列(標準のintervalデータではなく)として取得できます。次に、Extractパラメータ・ファイルで
DBOPTIONSALLOWNONSTANDARDINTERVALDATAを使用して証跡ファイルに書き込まれるデータの例を示します。
-
+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データが
DBOPTIONSALLOWNONSTANDARDINTERVALDATAを使用して取得され、証跡に文字列として書き込まれた場合、対応するソース列はターゲットの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データ型の詳細
サポートされていない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データ型の詳細
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, set the MINVALUE at 1 with an INCREMENT BY of 2.Database2, set the MINVALUE at 2 with an INCREMENT BY of 2.たとえば、3つのデータベースのある複数方向構成のMINVALUE/INCREMENT BY値は、次のようになります。Database1, set the MINVALUE at 1 with an INCREMENT BY of 3.Database2, set the MINVALUE at 2 with an INCREMENT BY of 3.Database3, set the MINVALUE at 3 with an INCREMENT BY of 3.