4.4. Debezium JDBC コネクター設定プロパティーの説明


Debezium JDBC シンクコネクターには、ニーズを満たすコネクターの動作を実現するために使用できるいくつかの設定プロパティーがあります。多くのプロパティーにはデフォルト値があります。プロパティーに関する情報は、以下のように設定されています。

Expand
表4.5 汎用プロパティー
プロパティーデフォルト説明

name

デフォルトなし

コネクターの一意名。コネクターの登録時にこの名前を再利用しようとすると失敗します。このプロパティーはすべての Kafka Connect コネクターに必要です。

connector.class

デフォルトなし

コネクターの Java クラスの名前。Debezium JDBC コネクターの場合、io.debezium.connector.jdbc.JdbcSinkConnector の値を指定します。

tasks.max

1

このコネクターに使用するタスクの最大数。

topics

デフォルトなし

消費するトピックのコンマ区切りのリスト。このプロパティーを topic.regex プロパティーと組み合わせて使用しないでください。

topics.regex

デフォルトなし

消費するトピックを指定する正規表現。内部的には、正規表現は java.util.regex.Pattern にコンパイルされます。このプロパティーを topics プロパティーと組み合わせて使用しないでください。

Expand
表4.6 JDBC コネクター接続プロパティー
プロパティーデフォルト説明

connection.url

デフォルトなし

データベースへの接続に使用される JDBC 接続 URL。

connection.username

デフォルトなし

コネクターがデータベースへの接続に使用するデータベースユーザーアカウントの名前。

connection.password

デフォルトなし

コネクターがデータベースへの接続に使用するパスワード。

connection.pool.min_size

5

プール内の最小接続数を指定します。

connection.pool.min_size

32

プールが維持する同時接続の最大数を指定します。

connection.pool.acquire_increment

32

接続プールが最大サイズを超えた場合にコネクターが取得を試みる接続の数を指定します。

connection.pool.timeout

1800

未使用の接続が破棄されるまで保持する時間 (秒) を指定します。

Expand
表4.7 JDBC コネクターのランタイムプロパティー
プロパティーデフォルト説明

database.time_zone

UTC

JDBC 時間値を挿入するときに使用するタイムゾーンを指定します。

delete.enabled

false

コネクターが DELETE イベントまたは tombstone イベントを処理し、対応する行をデータベースから削除するかどうかを指定します。このオプションを使用するには、primary.key.moderecord.key に設定する必要があります。

insert.mode

insert

イベントのデータベースへの挿入に使用するストラテジーを指定します。以下のオプションが利用できます。

insert
すべてのイベントが INSERT ベースの SQL ステートメントを構築するように指定します。このオプションは、プライマリーキーが使用されていない場合、または既存のプライマリーキー値を持つ行に対して更新が行われない場合にのみ使用してください。
update
すべてのイベントが UPDATE ベースの SQL ステートメントを構築することを指定します。このオプションは、コネクターが既存の行に適用されるイベントのみを受信する場合にのみ使用してください。
upsert
コネクターが upsert セマンティクスを使用してテーブルにイベントを追加することを指定します。つまり、プライマリーキーが存在しない場合、コネクターは INSERT 操作を実行し、キーが存在する場合、コネクターは UPDATE 操作を実行します。べき等書き込みが必要な場合は、このオプションを使用するようにコネクターを設定する必要があります。

primary.key.mode

none

コネクターがイベントからプライマリーキー列を解決する方法を指定します。

none
プライマリーキー列を作成しないことを指定します。
kafka

コネクターがプライマリーキー列として Kafka 座標を使用することを指定します。キー座標はトピック名、パーティション、イベントのオフセットから定義され、次の名前の列にマップされます。

  • __connect_topic
  • __connect_partition
  • __connect_offset
record_key
プライマリーキー列がイベントのレコードキーから取得されることを指定します。レコードキーがプリミティブ型の場合、primary.key.fields プロパティーでプライマリーキー列の名前を指定する必要があります。レコードキーが struct 型の場合、primary.key.fields プロパティーはオプションで、イベントのキーからの列のサブセットをテーブルのプライマリーキーとして指定するために使用できます。
record_value
プライマリーキー列がイベントの値から取得されることを指定します。primary.key.fields プロパティーを設定して、イベントの値のフィールドのサブセットとしてプライマリーキーを定義できます。それ以外の場合は、すべてのフィールドがデフォルトで使用されます。

primary.key.fields

デフォルトなし

プライマリーキー列の名前、またはプライマリーキーの導出元となるフィールドのコンマ区切りリスト。

primary.key.moderecord_key に設定されており、イベントのキーがプリミティブ型である場合、このプロパティーではキーに使用される列名を指定する必要があります。

primary.key.mode が、プリミティブ以外のキーを含む record_key または record_value に設定されている場合、このプロパティーにはキーまたは値のフィールド名のコンマ区切りリストを指定する必要があります。primary.key.mode が、プリミティブキー以外のキーを含む record_key または record_value に設定されており、このプロパティーが指定されていない場合、コネクターは、指定されたモードに応じて、レコードキーまたはレコード値のいずれかの全フィールドからプライマリーキーを導出します。

quote.identifiers

false

生成された SQL ステートメントでテーブル名と列名を区切るために引用符を使用するかどうかを指定します。詳細は 「宛先テーブル名と列名の大文字と小文字を定義するオプションの指定」 のセクションを参照してください。

schema.evolution

none

コネクターが宛先テーブルのスキーマを進化させる方法を指定します。詳細は、「Debezium JDBC コネクターのスキーマ進化モード」 を参照してください。以下のオプションが利用できます。

none
コネクターが宛先スキーマを進化させないことを指定します。
基本
基本進化が発生することを指定します。コネクターは、受信イベントのレコードスキーマをデータベーステーブル構造と比較することにより、欠落している列をテーブルに追加します。

table.name.format

${topic}

イベントのトピック名に基づいて、宛先テーブル名の形式を決定する文字列を指定します。${topic} のプレースホルダーは、トピック名に置き換えます。

Expand
表4.8 JDBC コネクターの拡張可能なプロパティー
プロパティーデフォルト説明

column.naming.strategy

i.d.c.j.n.DefaultColumnNamingStrategy

コネクターがイベントフィールド名から列名を解決するために使用する ColumnNamingStrategy 実装の完全修飾クラス名を指定します。

デフォルトでは、コネクターはフィールド名を列名として使用します。

table.naming.strategy

i.d.c.j.n.DefaultTableNamingStrategy

コネクターが受信イベントトピック名からテーブル名を解決するために使用する TableNamingStrategy 実装の完全修飾クラス名を指定します。

デフォルトの動作は次のとおりです。

  • table.name.format 設定プロパティーの ${topic} プレースホルダーをイベントのトピックに置き換えます。
  • ドット (.) は、アンダースコア (_) に置き換えて、テーブル名をサニタイズします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat