Skip to content

Add PostgreSQL pgoutput source with interleaved snapshot and replication tail - #108

Merged
mumoshu merged 4 commits into
mainfrom
postgresql-wal
Jul 16, 2026
Merged

Add PostgreSQL pgoutput source with interleaved snapshot and replication tail#108
mumoshu merged 4 commits into
mainfrom
postgresql-wal

Conversation

@mumoshu

@mumoshu mumoshu commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Introduces a PostgreSQL CDC source that streams changes through the built-in pgoutput plugin, with DBLog-style interleaved snapshot and a long-lived replication tail on the same WAL stream, matching the operational model of the MySQL binlog source #105

Please see docs/postgresql-pgoutput-source.md for the usage!

mumoshu added 4 commits July 7, 2026 22:08
Introduce pgoutput-protocol and postgresql-wal-source crates, wire the
source into the CLI, and add integration and e2e tests with documentation.
Bind BIGINT keyset cursors as int8 instead of narrowing to int4, and defer
replication slot advancement until every peeked wal2json change is surfaced
so concurrent writes are not dropped during interleaved snapshots.
Interleaved snapshot dedup widens integer primary keys to Int64; narrow
cursors back to int4/int2 before keyset chunk reads on SERIAL tables.
Align crate, CLI (`from postgresql-pgoutput`), docs, and checkpoint database_type naming with the wal2json source pattern.
@mumoshu
mumoshu merged commit fb3a22b into main Jul 16, 2026
15 checks passed
@mumoshu
mumoshu deleted the postgresql-wal branch July 16, 2026 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant