3.2.4.6.6. イベントの削除


そのため、イベントの 作成 および 更新 の例が見られました。ここでは、同じテーブルの 削除 イベントの値を確認します。繰り返し発生すると、値の schema 一部は create イベントおよび 更新 イベントと全く同じになります。

{
    "schema": { ... },
    "payload": {
        "before": {
            "id": 1
        },
        "after": null,
        "source": {
            "version": "1.1.2.Final",
            "connector": "postgresql",
            "name": "PostgreSQL_server",
            "ts_ms": 1559033904863,
            "snapshot": null,
            "db": "postgres",
            "schema": "public",
            "table": "customers",
            "txId": 556,
            "lsn": 46523128,
            "xmin": null
        },
        "op": "d",
        "ts_ms": 1465581902461
    }
}

payload 部分を確認すると、イベントペイロードの 作成 または 更新 との違いが複数あります。

  • op フィールド値は d、この行が削除されたことを表しています。
  • この before フィールドには、データベースのコミットで削除された行の状態が表示されます。この場合も、REPLICA IDENTITY 設定によりプライマリーキー列のみが含まれます。
  • after フィールドは null で、行が存在しなくなったことを表します。
  • source フィールド構造には、、および txId フィールドの変更を除き、前 ts_ms lsn と同じ値の多くが含まれます。
  • ts_ms、Debezium がこのイベントを処理したタイムスタンプを示しています。

このイベントにより、コンシューマーがこの行の削除を処理するのに使用できるすべての情報が提供されます。

警告

PK なしのテーブルには注意してください。REPLICA IDENTITY DEFAULT を持つテーブルからの削除メッセージには、before (デフォルト ID レベルの唯一のフィールドである PK がない)そのため、空としてスキップされます。PK のないテーブルからのメッセージを処理するには、REPLICA IDENTITY を FULL レベルに設定します。

PostgreSQL コネクターのイベントは、Kafka ログの圧縮 と連携するように設計されています。これにより、すべてのキーの少なくとも最新のメッセージが保持されていれば、古いメッセージを削除することができます。これにより、Kafka はストレージ領域を回収でき、トピックに完全なデータセットが含まれ、キーベースの状態のリロードに使用できます。

行が削除されても、上記の delete イベント値はログの圧縮でも機能します。これは、Kafka が同じキーで以前のメッセージをすべて削除できるためです。しかし、メッセージ値が Kafka null では、同じキーを持つ すべてのメッセージ が削除できる場合にのみ使用されます。これを可能にするために、PostgreSQL コネクターは、常に同じキーではなく null 値を持つ特別な tombstone イベントで delete イベントに従います。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.