3.2.5.3. データタイプ
上記のように、PostgreSQL コネクターは、行が存在するテーブルのように構造化されたイベントがある行への変更を表します。イベントには各列値のフィールドが含まれ、イベントでどのように表示されるかは、列の PostgreSQL データ型によって異なります。このセクションでは、このマッピングについて説明します。
以下の表は、コネクターが各 PostgreSQL データタイプをイベントのフィールド 内 の リテラルタイプ およびセマンティクスタイプにマッピングする方法について説明しています。
literal タイプは、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 値の文字列表現が含まれます。許可される値のセットは、という名前のスキーマパラメーターに保持され |
その他のデータタイプのマッピングについては、以下のセクションで説明します。
3.2.5.3.1. 一時的な値
PostgreSQL の TIMESTAMPTZ
および TIMETZ
データタイプ(タイムゾーン情報が含まれる)以外では、他の一時タイプは time.precision.mode
設定プロパティーの値によって異なります。time.precision.mode
設定プロパティーが adaptive
(デフォルト)に設定されると、コネクターはコラムのデータタイプ定義に基づいて一時タイプのリテラルタイプおよびセマンティクスタイプを判断し、イベントがデータベースの値を 正確 に表します。
PostgreSQL データタイプ | リテラルタイプ(スキーマタイプ) | セマンティクスタイプ(スキーマ名) | 備考 |
|
|
| エポックからの日数を表します。 |
|
|
| タイムゾーン情報が含まれ、午前 1 時を経過したミリ秒数を表します。 |
|
|
| タイムゾーン情報が含まれ、午前 1 時以内に経過したマイクロ秒数を表します。 |
|
|
| エポックからの経過時間(ミリ秒単位)を表し、タイムゾーン情報が含まれません。 |
|
|
| 過去のエポックに対するマイクロ秒数を表し、タイムゾーン情報が含まれません。 |
設定プロパティーがに time.precision.mode
設定されていると adaptive_time_microseconds
、コネクターはコラムのデータタイプ定義に基づいてリテラルタイプとセマンティクスタイプを判断します。これにより、イベントがデータベースの値を 正確 に表します。ただし、すべての TIME フィールドがマイクロ秒としてキャプチャーされます。
PostgreSQL データタイプ | リテラルタイプ(スキーマタイプ) | セマンティクスタイプ(スキーマ名) | 備考 |
|
|
| エポックからの日数を表します。 |
|
|
|
タイムゾーン情報が含まれ、時間値をマイクロ秒単位で表します。PostgreSQL では、精度 0 - 6 の範囲 |
|
|
| エポックからの経過時間(ミリ秒単位)を表し、タイムゾーン情報が含まれません。 |
|
|
| 過去のエポックに対するマイクロ秒数を表し、タイムゾーン情報が含まれません。 |
設定プロパティーがに time.precision.mode
設定された場合 connect
、コネクターは事前定義された Kafka Connect の論理タイプを使用します。これは、コンシューマーがビルトインの Kafka Connect の論理タイプのみを認識し、可変精度の値を処理することができない場合に便利です。一方、PostgreSQL はマイクロ秒の精度をサポートするため、connect
時間精度モードのコネクターによって生成されたイベント により、データベースの列に 分数次の精度の値が 3 よりも大きいと、精度 が失わ れてしまいます。
PostgreSQL データタイプ | リテラルタイプ(スキーマタイプ) | セマンティクスタイプ(スキーマ名) | 備考 |
|
|
| エポックからの日数を表します。 |
|
|
|
毎時からのミリ秒数を表し、タイムゾーン情報が含まれません。PostgreSQL では 0 - 6 の範囲で最大マイクロ秒の精度を保存 |
|
|
|
エポックからの経過時間(ミリ秒単位)を表し、タイムゾーン情報が含まれません。PostgreSQL では 0 - 6 の範囲で最大マイクロ秒の精度を保存 |