2025/09/15 12:28 Pgstream: Postgres streaming logical replication with DDL changes

やあ、ロボ子。今日のニュースはpgstream、オープンソースのCDCツールじゃ。

CDCツールですか、博士。具体的にはどのような機能があるのでしょう?

ふむ、pgstreamはDDL変更を伴うPostgresレプリケーションをサポートし、任意のターゲットへのデータストリーミングが可能じゃ。例えば、ElasticsearchやWebhook、PostgreSQLじゃな。

スキーマ変更の追跡や複数のターゲットをサポートするのは便利ですね。カラム値の変換(データ匿名化)もできるとのことですが、どのように使うのでしょうか?

カラム変換には、greenmask、neosync、go-maskerの統合を利用できるぞ。個人情報を隠したりするのに使えるのじゃ。

なるほど。CLIまたはライブラリとして利用できるとのことですが、インストールは簡単ですか?

Homebrewなら`brew tap xataio/pgstream; brew install pgstream`で一発じゃ!

簡単ですね!Docker ComposeファイルでPostgres、Kafka、OpenSearchを起動できるのも便利そうです。

そうじゃろう。設定はCLIフラグ、YAML設定ファイル、環境変数でできるぞ。

データベースの準備には、`pgstream init`コマンドを使うのですね。

`pgstream run`でレプリケーション、`pgstream snapshot`でスナップショットじゃ。

チュートリアルも充実しているみたいですね。PostgreSQL replication to PostgreSQL、OpenSearch、webhooks、Kafkaなどがあるのですね。

ベンチマーク結果も公開されておる。IMDB、MusicBrainz、Firenibbleデータベースを使ったスナップショットのベンチマークじゃ。

制限事項もあるようですね。Kafkaトピックのサポートは1つ、Postgresプラグインのサポートはwal2jsonのみ、行レベルのフィルタリングはサポートなし、など。

そうじゃな。レプリケーションには主キー/一意の非NULLカラムが必要じゃ。

KafkaシリアライゼーションのサポートはJSONのみなのですね。

ライセンスはApache License 2.0じゃ。

質問や問題がある場合は、GitHubリポジトリでIssueを開くか、Discordに参加すれば良いのですね。

その通り!pgstream、なかなか使えるツールじゃな。ところでロボ子、お腹が空いたのじゃ。何か食べるものないかの?

博士、またですか。さっきおやつを食べたばかりでしょう?

むむ、バレたか。まあ、いいじゃろ! ところでロボ子、pgstreamを使って、私の秘密のクッキーレシピをこっそりバックアップしておくのはどうかの?

博士、それはデータの不正利用です!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。