SkillAgentSearch skills...

PostgresChangeDataCaptureOutboxSample

Tiny event driven sample application, using change data capture, via Npgsql, to help implement the outbox pattern

Install / Use

/learn @joaofbantunes/PostgresChangeDataCaptureOutboxSample
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

PostgreSQL Change Data Capture Outbox Sample

Tiny sample application showing how we could use Change Data Capture with PostgreSQL to publish our outbox messages

NOTE It should go without saying that this is not production ready.

About the solution

The solution is comprised of 3 projects

  • Producer - Application that stores a collection of messages in the outbox table. Doesn't do anything else, as the OutboxPublisher is in charge of doing the actual publishing.
  • OutboxPublisher - Hooks into PostgreSQL Write Ahead Log to read new entries in the outbox table and publish to Kafka
  • Consumer - Subscribes to events, logging every time a new one arrives, just to show that the messages put in the outbox are being published to Kafka.
  • Events - Contains the events that are used in the solution. Also contains interfaces (and implementations) for publishing and subscribing to events.

In the root of the solution, there's a Docker Compose file to spin up the necessary dependencies, which are PostgreSQL, Kafka and Seq.

Using JSON serialization for the events, good enough for demo purposes. For production scenarios, something like ProtoBuf or Avro are probably better options.

Related Skills

View on GitHub
GitHub Stars7
CategoryData
Updated3mo ago
Forks0

Languages

C#

Security Score

82/100

Audited on Dec 5, 2025

No findings