2.2.4.7.3. 10 進数値

decimal.handling.mode 設定プロパティーが precise に設定されている場合、コネクターはすべての DECIMAL および NUMERIC 列に事前定義された Kafka Connect org.apache.kafka.connect.data.Decimal 論理型を使用します。これはデフォルトのモードです。

PostgreSQL データ型リテラル型 (スキーマ型)セマンティック型 (スキーマ名)注記

NUMERIC[(M[,D])]

BYTES

org.apache.kafka.connect.data.Decimal

スケーリング されたスキーマパラメーターには、小数点を移動した桁数を表す整数が含まれます。

DECIMAL[(M[,D])]

BYTES

org.apache.kafka.connect.data.Decimal

スケーリング されたスキーマパラメーターには、小数点を移動した桁数を表す整数が含まれます。

このルールには例外があります。NUMERIC または DECIMAL 型がスケーリング制約なしで使用される場合、データベースから取得される値のスケールは値ごとに異なる(変数)スケーリングできることを意味します。この場合、io.debezium.data.VariableScaleDecimal タイプが使用され、転送された値の値とスケールの両方が含まれます。

PostgreSQL データ型リテラル型 (スキーマ型)セマンティック型 (スキーマ名)注記

NUMERIC

STRUCT

io.debezium.data.VariableScaleDecimal

2 つのフィールドを持つ構造が含まれます。type INT32 型の scale には、転送された値のスケールと、非スケール形式の元の値が含まれる BYTES 型の値が含まれます。

DECIMAL

STRUCT

io.debezium.data.VariableScaleDecimal

2 つのフィールドを持つ構造が含まれます。type INT32 型の scale には、転送された値のスケールと、非スケール形式の元の値が含まれる BYTES 型の値が含まれます。

ただし、decimal.handling.mode 設定プロパティーが double に設定されている場合、コネクターはすべての DECIMAL および NUMERIC 値を Java double 値として表し、以下のようにエンコードします。

PostgreSQL データ型リテラル型 (スキーマ型)セマンティック型 (スキーマ名)注記

NUMERIC[(M[,D])]

FLOAT64

  

DECIMAL[(M[,D])]

FLOAT64

  

decimal.handling.mode 設定プロパティーの最後のオプションは string です。この場合、コネクターはすべての DECIMAL および NUMERIC 値をフォーマットされた文字列表現として表し、以下のようにエンコードします。

PostgreSQL データ型リテラル型 (スキーマ型)セマンティック型 (スキーマ名)注記

NUMERIC[(M[,D])]

STRING

  

DECIMAL[(M[,D])]

STRING

  

PostgreSQL は、DECIMAL/NUMERIC 値に保存される NaN (数字ではない)固有の値をサポートします。文字 および 二重 モードのみが、Double.NaN または文字列定数 NAN のようにエンコードできます。