Skip to content
SPECIFICTION
Get listed

Canal vs pgstream

Canal

github.com

pgstream

xata.io

Side by side

FigureCanalpgstream
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYesYes
Plans published11
Spec score · Change Data Capture Software8.7 (#3)7.9 (#11)
DeploymentThe README says Canal provides native Docker image support.pgstream can run as a standalone CLI or be embedded as a Go library, and requires PostgreSQL as a dependency.
LicenseThe repository identifies its license as Apache-2.0.The project is licensed under Apache License 2.0.
PurposeCanal parses MySQL database incremental logs and provides incremental data subscription and consumption.pgstream is an open-source CDC tool for replicating PostgreSQL data and DDL schema changes to targets.
SecurityThe v1.1.8 release notes list SSL/TLS connections to source MySQL and RabbitMQ SSL authentication support.The product page describes built-in anonymization for masking production data as it is replicated to development or staging.
SupportThe project asks users to report bugs and feature requests through GitHub issues.The project README directs users with questions or issues to open a GitHub issue for community assistance.

Plans

Canal

  • CanalFree

Canal pricing →

pgstream

  • pgstreamFree

pgstream pricing →

In their own words

Canal

Canal is a free, self-hosted project that parses MySQL binary logs so applications can subscribe to and consume database changes incrementally. It acts like a MySQL replica, requesting binlog data from a master and parsing the events. Listed uses include database mirroring and real-time backup, index maintenance, cache refresh, and business-logic processing. The README lists source versions MySQL 5.1.x, 5.5.x, 5.6.x, 5.7.x, and 8.0.x. Canal can send change records to Kafka and RocketMQ; the quick start also lists RabbitMQ and Pulsar server modes. Its Protocol Buffers 3.0 client-server design has clients for Java, C#, Go, and Python. Canal Admin provides a web interface for managing configuration, tasks, and logs, and the project lists native Prometheus monitoring. Docker images and a Docker QuickStart are available, but the default setup runs only one Canal instance per Docker instance. The project is licensed under Apache-2.0.

Visit github.com

pgstream

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.

Visit xata.io