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 の |