
1,198 stars · Apache-2.0, read from /blob/main/LICENSE, standard and unmodified, and THE COPYRIGHT HOLDER PLACEHOLDER IS UNFILLED — no holder is named anywhere in the file; main.go carries only an SPDX identifier. The fourth such row in this one edition. · v1.5.0 of 2026-09-10, the release page reading '10 Sep 16:55' with no year and settled by ungh's releases endpoint at 2026-09-10T16:55:26Z. A rolling 'nightly' prerelease was published 2026-10-09, so the stable-against-nightly cadence is genuinely live. · Track this in Scout
Streams PostgreSQL changes to another database, a search index, a webhook or a queue, following changes to the table structure as well as to the rows.
▶Repo detailsthe review · specs · pros & cons · install
What it does
You run one command to set it up. It creates a small schema inside the source database holding tables, functions and triggers that record changes to the structure, and it creates a replication slot, which is PostgreSQL's own mechanism for letting a program read the change stream. You can then take an initial snapshot of existing rows, so the destination starts complete. After that a single command streams changes continuously. The source can be PostgreSQL or Kafka; the destination can be another PostgreSQL, OpenSearch or Elasticsearch, a webhook, or Kafka. On the way through, column values can be passed through transformers that mask or anonymise them, which makes it usable for building a safe copy for testing. It also has a standalone snapshot mode for a read-only point-in-time copy. What it does not do: only one Kafka topic is supported, only one PostgreSQL decoding plugin is supported, there is no row-level filtering, and a table with no primary key and no unique NOT NULL column will not replicate at all.
Why it matters
Who it suits. Anyone who keeps a search index alongside a PostgreSQL database and is tired of it drifting out of date, and anyone who needs a masked copy of production data for testing. The structure-change handling is the specific reason to pick this: if your schema changes often, the general-purpose tools make it your problem. Skip it if your schema never changes and you only need rows, because then the larger and better-known tools will serve you better.
Verdict. The most convincing small project in this edition, and a real gap filled rather than a thinner version of something bigger. debezium/debezium at 12,962 stars is the industry default, covers many databases, and is far heavier to run; come here if you are PostgreSQL-only and want one binary. One thing to fix before you start: the README never mentions that PostgreSQL must be configured with wal_level = logical for any of this to work, and without it the first run fails. The project also publishes benchmark results only as an image, so there is no throughput figure to quote. Twenty-four open pull requests on a vendor-run repository is a backlog worth noticing, though 2,085 commits and nightly builds say the work is real.
- It follows changes to the table structure, which is the part most tools skip.
- One binary, four destinations, and transformers for masking data on the way through.
- A snapshot mode that produces a read-only point-in-time copy without streaming.
- The README omits the
wal_level = logicalrequirement, so the first run fails for a reason it does not explain. - A table with no primary key and no unique NOT NULL column will not replicate, silently as far as the documentation goes.
- No minimum PostgreSQL or Go version is stated anywhere, and its Apache-2.0 licence file names no copyright holder.
- debezium/debezium
The established change-capture platform covering many databases, at 12,962 stars, with code on 29 July 2026; far more capable and far more to operate.
Track this in Scout - PeerDB-io/peerdb
PostgreSQL-focused replication aimed at data warehouses, at 3,300 stars, with code on 12 October 2026.
Track this in Scout - sequinstream/sequin
Streams PostgreSQL changes to queues and streams, at 2,195 stars, with code on 23 February 2026; quieter than the other two.
Track this in Scout
curl -L https://github.com/xataio/pgstream/releases/latest/download/pgstream.linux.amd64 -o pgstream chmod +x pgstream sudo mv pgstream /usr/local/bin/



