Push-Based Outbox Pattern with Postgres Logical Replication

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
  1. mssql-changefeed

    The author says the outbox pattern should "always" be used.

    I agree with the goal -- one should definitely never publish an event externally before it is committed to DB! But I think using a "post-commit sequence number" is even more powerful than the outbox pattern.

    Sadly few DBs seems to supoort this well with low latency. CosmosDB has great support for a post commit low latency change feed

    A hack for mssql is here:

    https://github.com/vippsas/mssql-changefeed/blob/main/MOTIVA...

    More about this way of publishing events:

    https://github.com/vippsas/zeroeventhub

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. marmot

    A distributed SQLite replicator built on top of NATS

    Interesting approach, I use a very similar methodology in Marmot (https://github.com/maxpert/marmot) to do CDC for SQLite via triggers, and then these changes are published over NATS, replicated over to other nodes. So row-level replication powered by similar outbox except it uses NATS and JetStreams's quorum property to ensure reliable recovery.

  4. zeroeventhub

    The author says the outbox pattern should "always" be used.

    I agree with the goal -- one should definitely never publish an event externally before it is committed to DB! But I think using a "post-commit sequence number" is even more powerful than the outbox pattern.

    Sadly few DBs seems to supoort this well with low latency. CosmosDB has great support for a post commit low latency change feed

    A hack for mssql is here:

    https://github.com/vippsas/mssql-changefeed/blob/main/MOTIVA...

    More about this way of publishing events:

    https://github.com/vippsas/zeroeventhub

  5. rust-postgres

    Native PostgreSQL driver for the Rust programming language

  6. rust-postgres

    Native PostgreSQL driver for the Rust programming language (by MaterializeInc)

  7. Sevalla

    Deploy and host your apps and databases, now with $50 credit! Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!

    Sevalla logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • The Equality Delete Problem in Apache Iceberg

    5 projects | dev.to | 20 Aug 2025
  • SQLx – The Rust SQL Toolkit

    16 projects | news.ycombinator.com | 25 Jul 2025
  • Implementing Transactional Tests with MySQL

    6 projects | dev.to | 22 Jul 2025
  • Why You Shouldn’t Invest In Vector Databases?

    12 projects | dev.to | 24 Apr 2025
  • Sqlc: Generate type-safe code from SQL

    1 project | news.ycombinator.com | 16 Apr 2025

Did you know that Go is
the 4th most popular programming language
based on number of references?