2.2. PostgreSQL の設定
本リリースの Debezium は、ネイティブの pgoutput 論理レプリケーションストリームのみをサポートします。pgoutput を使用して PostgreSQL を設定するには、レプリケーションスロットを有効にし、レプリケーションを実行するのに十分な権限を持つユーザーを設定する必要があります。
2.2.1. レプリケーションスロットの設定
PostgreSQL の論理デコード機能はレプリケーションスロットを使用します。
最初に、レプリケーションスロットを設定します。
postgresql.conf
wal_level=logical max_wal_senders=1 max_replication_slots=1
-
wal_level
は、先行書き込みログで論理デコードを使用するようにサーバーに指示します。 -
max_wal_senders
は、WAL 変更を処理するために最大 1 つの別個のプロセスを使用するようにサーバーに指示します -
max_replication_slots
は、WAL 変更をストリーミングするために最大 1 つのレプリケーションスロットを作成できるようにサーバーに指示します。
レプリケーションスロットは、Debezium の停止中でも Debezium に必要なすべての WAL を保持することが保証されます。この理由により、レプリケーションスロットを密接に監視して、ディスク消費量が多すぎることや、レプリケーションスロットが過剰に使用されなくなった場合にカタログブロットなどの他の状態が発生する可能性を避けることが重要です。詳細は、Postgres のドキュメント を参照し てください。
PostgreSQL 先行書き込みログのメカニズムおよび 設定に関する WAL 設定ドキュメント を読み、理解することが推奨されます。