2.2.4.7. データ型
上記のように、PostgreSQL コネクターは、行が存在するテーブルのように構造化されたイベントを含む行への変更を表します。イベントには各列値のフィールドが含まれ、その値がイベントでどのように表されるかは、列の PostgreSQL データ型によって異なります。本セクションでは、このマッピングを説明します。
以下の表は、各 PostgreSQL データ型をイベントのフィールド内の リテラル 型およびセマンティック型 にマッピングする方法を示しています。
ここで リテラル型 は、Kafka Connect スキーマタイプ( INT8、INT16、INT32 INT64、FLOAT32、FLOAT64、BOOLEAN、STRING、BYTES、ARRAY、MAP、STRUCT )を使用して値をリテラルで表す方法を記述します。
セマンティック型 は、フィールドの Kafka Connect スキーマの名前を使用して Kafka Connect スキーマがフィールドの 意味 をキャプチャーする方法を記述します。
| PostgreSQL データ型 | リテラル型 (スキーマ型) | セマンティック型 (スキーマ名) | 注記 |
|---|---|---|---|
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
|
|
|
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
|
| タイムゾーン情報を含むタイムスタンプの文字列表現。タイムゾーンは GMT です。 |
|
|
|
| タイムゾーン情報を含む時間値の文字列表現。タイムゾーンは GMT です。 |
|
|
|
|
月平均日に |
|
|
|
|
パターン |
|
|
| 該当なし | |
|
|
|
| JSON ドキュメント、配列、またはスケーラーの文字列表現が含まれます。 |
|
|
|
| XML ドキュメントの文字列表現が含まれます。 |
|
|
|
| PostgreSQL UUID 値の文字列表現が含まれます。 |
|
|
|
|
2 つの |
|
|
|
| PostgreSQL LTREE 値の文字列表現が含まれます。 |
|
|
| 該当なし | |
|
|
| 該当なし | |
|
|
| 該当なし | 整数の範囲 |
|
|
| 該当なし | bigint の範囲 |
|
|
| 該当なし | 数値の範囲 |
|
|
| 該当なし | タイムゾーンのないタイムスタンプの範囲の文字列表現が含まれます。 |
|
|
| 該当なし | (ローカルシステム)タイムゾーンを持つタイムスタンプの範囲の文字列表現が含まれます。 |
|
|
| 該当なし | 日付範囲の文字列表現が含まれます。上限は常に排他的です。 |
|
|
|
|
PostgreSQL ENUM 値の文字列表現が含まれます。許可される値のセットは、許可される という名前のスキーマパラメーターで維持 |
その他のデータ型マッピングは、以下のセクションで説明します。
2.2.4.7.1. 時間の値 リンクのコピーリンクがクリップボードにコピーされました!
PostgreSQL の TIMESTAMPTZ および TIMETZ データ型(タイムゾーン情報が含まれる)以外に、他の時間型は time.precision.mode 設定プロパティーの値によって異なります。time.precision.mode 設定プロパティーが adaptive (デフォルト) に設定された場合、コネクターは列のデータ型を基に時間型のリテラルおよびセマンティック型を決定し、イベントが正確 にデータベースの値を表すようにします。
| PostgreSQL データ型 | リテラル型 (スキーマ型) | セマンティック型 (スキーマ名) | 注記 |
|---|---|---|---|
|
|
|
| エポックからの日数を表します。 |
|
|
|
| 午前 0 時から経過した時間をミリ秒で表し、タイムゾーン情報は含まれません。 |
|
|
|
| 午前 0 時から経過した時間をマイクロ秒で表し、タイムゾーン情報は含まれません。 |
|
|
|
| エポックからの経過時間をミリ秒で表し、タイムゾーン情報は含まれません。 |
|
|
|
| エポックからの経過時間をマイクロ秒で表し、タイムゾーン情報は含まれません。 |
time.precision.mode 設定プロパティーが adaptive_time_microseconds に設定されている場合、コネクターは列のデータ型を基に時間型のリテラル型とセマンティック型を決定し、イベントが 正確 にデータベースの値を表すようにします。ただし、すべての TIME フィールドはマイクロ秒としてキャプチャーされます。
| PostgreSQL データ型 | リテラル型 (スキーマ型) | セマンティック型 (スキーマ名) | 注記 |
|---|---|---|---|
|
|
|
| エポックからの日数を表します。 |
|
|
|
|
時間の値をマイクロ秒単位で表し、タイムゾーン情報は含まれません。PostgreSQL では、範囲 が 0 - 6 の精度 |
|
|
|
| エポックからの経過時間をミリ秒で表し、タイムゾーン情報は含まれません。 |
|
|
|
| エポックからの経過時間をマイクロ秒で表し、タイムゾーン情報は含まれません。 |
time.precision.mode 設定プロパティーが connect に設定された場合、コネクターは事前定義された Kafka Connect の論理型を使用します。これは、コンシューマーが組み込みの Kafka Connect の論理型のみを認識し、可変精度の時間値を処理できない場合に便利です。一方、PostgreSQL はマイクロ秒の精度をサポートするため、connect 時間精度モードでコネクターによって生成されたイベントは、データベース列の 少数秒 の精度値が 3 よりも大きい場合に、精度 が失わ れます。
| PostgreSQL データ型 | リテラル型 (スキーマ型) | セマンティック型 (スキーマ名) | 注記 |
|---|---|---|---|
|
|
|
| エポックからの日数を表します。 |
|
|
|
|
午前 0 時からの経過時間をミリ秒で表し、タイムゾーン情報は含まれません。PostgreSQL では、範囲が 0-6 の |
|
|
|
|
エポックからの経過時間をミリ秒で表し、タイムゾーン情報は含まれません。PostgreSQL では、範囲が 0-6 の |