PgCat vs TiCDC
PgCat
github.comTiCDC
docs.pingcap.comSide by side
| Figure | PgCat | TiCDC |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Database Proxy Software | 7.6 (#15) | 8.1 (#6) |
| Deployment | The project documents Docker deployment and publishes ghcr.io/postgresml/pgcat:latest. | TiCDC can be deployed with a new TiDB cluster or added to an existing cluster using TiUP. |
| Purpose | PgCat is a PostgreSQL pooler and proxy supporting sharding, load balancing, failover and mirroring. | TiCDC replicates incremental data from TiDB by capturing TiKV change logs, sorting the changes, and exporting row-based data to downstream systems. |
| Security | Clients and PostgreSQL servers can use SSL/TLS, and authentication supports MD5 and SCRAM-SHA-256 connections. | The deployment guide documents enabling TLS between TiDB components, including TiCDC. |
Plans
In their own words
PgCat
PgCat is a free, open-source PostgreSQL pooler and proxy for self-hosted Linux deployments. Its stable features include transaction and session pooling. Read queries can be balanced across replicas and the primary, while health checks detect broken replicas and redirect queries to remaining servers. PgCat uses Tokio’s asynchronous runtime and a multithreaded design for multicore machines. Operators can view pooler statistics through the pgcat and pgbouncer admin databases or a Prometheus HTTP endpoint. Client and PostgreSQL server connections can use SSL/TLS, with MD5 and SCRAM-SHA-256 authentication supported. MD5 passthrough can use auth_query so cleartext passwords need not be stored in the configuration file. Docker deployment is documented, and a container image is published. Sharding syntax, comment parsing, automatic sharding, and mirroring are experimental. Transaction mode is enabled by default and does not support prepared statements, SET, or advisory locks. The project describes PgCat as stable and says it serves high query volumes in production. It is licensed under MIT.
TiCDC
TiCDC is a free, open-source, self-hosted tool for replicating incremental data changes from TiDB. It captures TiKV change logs, sorts the changes, and exports row-based data to systems including TiDB, MySQL-compatible databases, Kafka, Amazon S3, GCS, Azure Blob Storage, and NFS. Recommended Kafka formats include Canal-JSON, Avro, and Debezium. Filters can select databases, tables, DMLs, and DDLs, while the Open API can check task status, change task configuration, and create or delete tasks. TiCDC supports replication between TiDB clusters for disaster recovery, with second-level RPO and minute-level RTO, as well as bidirectional replication for multi-active deployments. It can be deployed with a new cluster or added to an existing one; production guidance recommends at least two instances. The system has no single point of failure and allows nodes to be added or removed dynamically. Delivery is at least once, so failures can lead to repeated statements or Kafka messages.