pgstream
xata.io
What it is
pgstream is a free, open-source tool for moving PostgreSQL data and schema changes to other systems. Run it as a command-line program or embed it as a Go library; it is self-hosted and requires PostgreSQL. Destinations include PostgreSQL, Elasticsearch or OpenSearch, Kafka, and webhooks. It can take an initial or on-demand snapshot for bulk loads and point-in-time copies, and tracks schema changes so receiving systems can reflect table updates. During replication, column values can be transformed with greenmask, neosync, go-masker, or custom transformers, including to mask production data headed for development or staging. Kafka support includes schema-based partitioning. Installation options include a Go binary, building from source, and Homebrew on macOS or Linux. The project uses the Apache License 2.0 and costs nothing. Its initial release has constraints: one Kafka topic, the wal2json PostgreSQL plugin, no row-level filtering, and a primary-key or unique non-null column requirement. Community questions and issues go through GitHub issues.
Spec sheet
- Purpose
- pgstream is an open-source CDC tool for replicating PostgreSQL data and DDL schema changes to targets.Read 4 Oct 2026 · xata.io
- Deployment
- pgstream can run as a standalone CLI or be embedded as a Go library, and requires PostgreSQL as a dependency.Read 4 Oct 2026 · xata.io
- Security
- The product page describes built-in anonymization for masking production data as it is replicated to development or staging.Read 4 Oct 2026 · xata.io
- Support
- The project README directs users with questions or issues to open a GitHub issue for community assistance.Read 4 Oct 2026 · github.com
- License
- The project is licensed under Apache License 2.0.Read 4 Oct 2026 · github.com
- Anonymization
- Column values can be transformed during replication using greenmask, neosync, or go-masker integrations.Read 4 Oct 2026 · xata.io
- DDL tracking
- It tracks and replicates schema changes alongside data changes so downstream targets can follow table changes.Read 4 Oct 2026 · xata.io
- Deployment dependency
- The product page says pgstream requires PostgreSQL as its only dependency and does not require ZooKeeper or Kafka.Read 4 Oct 2026 · xata.io
- Installation
- The project provides a Go binary and Docker image, and its repository documents installation with Go, source builds, and Homebrew on macOS or Linux.Read 4 Oct 2026 · github.com
- Intended use
- The product page describes using pgstream to keep staging databases in sync with production and to bootstrap targets with snapshots.Read 4 Oct 2026 · xata.io
- Interfaces
- pgstream can run as a standalone CLI tool or be embedded as a Go library.Read 4 Oct 2026 · xata.io
- Kafka support
- Kafka support includes schema-based partitioning.Read 4 Oct 2026 · xata.io
- Limitations
- The README lists single Kafka topic support, wal2json-only Postgres plugin support, no row-level filtering, and a primary-key or unique non-null column requirement as limitations of the initial release.Read 4 Oct 2026 · github.com
- Maker founded
- Xata says it formed in 2021.Read 4 Oct 2026 · xata.io
- Maker security
- Xata states that it is SOC 2, HIPAA, and GDPR compliant; this statement describes Xata and does not specify pgstream as a separately certified product.Read 4 Oct 2026 · xata.io
- Schema changes
- It tracks and replicates schema changes alongside data changes.Read 4 Oct 2026 · xata.io
- Snapshots
- It supports initial and on-demand PostgreSQL snapshots for bulk loads or point-in-time copying without continuous replication.Read 4 Oct 2026 · xata.io
- Targets
- Built-in targets include PostgreSQL, Elasticsearch/OpenSearch, Kafka, and webhooks.Read 4 Oct 2026 · xata.io
Plans and prices
Strong points and limits
Strong points
- Replicates data and schema changes together
- Supports four built-in target types
- Offers initial and on-demand snapshots
- Column transformations can mask replicated data
- Free under Apache License 2.0
Limits
- Supports only one Kafka topic
- Uses only the wal2json PostgreSQL plugin
- No row-level filtering
- Requires a primary key or unique non-null column
Who it suits
pgstream suits teams that need to replicate PostgreSQL data and schema changes to downstream systems or keep staging databases synchronized. It also fits developers who want a Go library or a self-hosted CLI with snapshot and masking options.
Verdict
pgstream combines change replication, schema tracking, snapshots, and column transformation in a self-hosted CLI or Go library. Check its Kafka, plugin, filtering, and key-column limits against the workload before adopting it.
Where Specifiction places it
- Change Data Capture Software#11 of 237.9