15 PostgreSQLのサポート対象の理解
この章では、Oracle GoldenGate for PostgreSQLでサポートされている機能について説明します。
内容は次のとおりです。
サポートされているデータベース
-
キャプチャおよび配信でサポートされているのはユーザー・データベースのみです。
-
Oracle GoldenGateでは、アーカイブされたログからの取得はサポートされません。
-
キャプチャおよび配信は、レプリカ、スタンバイ・データベースに対してはサポートされていません。
-
高可用性:
-
Oracle GoldenGate Extractでは、PostgreSQL高可用性構成によるプライマリExtractからセカンダリExtractへのシームレスなロール遷移はサポートされていません。ただし、新しいプライマリExtractからの継続性を提供するために、手動による手順で操作を実行できます。
-
詳細は、Oracle SupportノートOracle GoldenGateでのPostgreSQL高可用性フェイルオーバーのための手順(ドキュメントID 2818379.1)を参照してください。
-
親トピック: PostgreSQLのサポート対象の理解
サポートされているPostgreSQLデータ型の詳細
このトピックでは、Oracle GoldenGateでサポートされているデータ型とサポートされていないデータ型について説明します。
サポートされているPostgreSQLデータ型
Oracle GoldenGateでサポートされているPostgreSQLデータ型とこのサポートの制限事項を一覧で示します。
-
bigint
-
bigserial
-
bit(n)
-
bit varying(n)
-
boolean
-
bytea
-
char (n)
-
cidr
-
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バイト以下にする必要があります。 -
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データ型の詳細
サポートされていないPostgreSQLデータ型
-
配列
-
box
-
circle
-
コンポジット型
-
ドメイン型
-
列挙型
-
line
-
lseq
-
オブジェクト識別子型
-
path
-
pg_lsn
-
pg_snapshot
-
point
-
polygon
-
疑似型
-
範囲型
-
tsquery
-
tsvector
-
User-defined Types (UDTs)
-
https://www.postgresql.org/docs/current/contrib.htmlにリストされている拡張および追加提供モジュールは、「サポートされているPostgreSQLデータ型」で明示的にリストされていないかぎり、Oracle GoldenGateではサポートされていません。
ノート:
Extractでは、サポートされていないデータ型が使用された表がExtractパラメータ・ファイルに含まれている場合は、エラー・メッセージが表示されて停止します。レプリケーションを再開するには、Extractファイルからその表を削除するか、サポートされていないデータ型の列をその表から削除します。ノート:
拡張モジュールまたは追加提供モジュールがサポートされている場合は、サポートされているPostgreSQLデータ型リストに明示的に追加されます。
親トピック: サポートされているPostgreSQLデータ型の詳細
ProtgreSQLについてサポートされているオブジェクトおよび操作
このトピックでは、Oracle GoldenGateでサポートされているオブジェクトおよび操作について説明します。
-
Oracle GoldenGate for PostgreSQLでは、DML操作(挿入/更新/削除)のみサポートされます。DDLレプリケーションはサポートされていません。
-
Oracle GoldenGate for PostgreSQLでは、PostgreSQL 11以上の切捨て操作のレプリケーションがサポートされており、ExtractおよびReplicatにおいて
GETTRUNCATES
パラメータが必要になります。 -
大/小文字を区別する名前と区別しない名前の使用方法を次に示します。
-
引用符で囲まれていない名前は、大/小文字の区別がなく、暗黙的に小文字です。たとえば、
CREATE TABLE MixedCaseTable
とSELECT * FROM mixedcasetable
は同等です。 -
引用符で囲まれた表名および列名は、大/小文字が区別され、ExtractとReplicatsで、および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
句を使用して作成されたアイデンティティ列は、単方向、双方向および多方向の実装での、ソース表とターゲット表でサポートされています。 -
GENERATED ALWAYS AS IDENTITY
句を使用して作成されたアイデンティティ列はターゲット・データベース表ではサポートされていないため、「Identity」プロパティをターゲット表から削除するか、GENERATED BY DEFAULT AS IDENTITY
に変更する必要があります。 -
双方向および多方向の実装の場合は、アイデンティティ列および順序を、構成内のサーバーの数に等しい
INCREMENT BY
値、およびそれぞれに異なるMINVALUE
を指定して定義します。たとえば、双方向の、データベースが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 BY
を3にして、MINVALUE
を3に設定します。