New PGSync ClickHouse: stream Postgres into ClickHouse
Search your relational data by meaning, in real time.¶
PGSync keeps Elasticsearch and OpenSearch in sync with PostgreSQL, MySQL and MariaDB. PGSync Semantic lets your users search by meaning, with hybrid keyword ranking, and re-embeds a document only when its meaning changes.
One sync engine, four products¶
-
PGSync Semantic
From $29/mo
Semantic and hybrid search on your own data. Embeddings update only when the meaning changes. Includes an MCP server for AI agents.
-
PGSync
Free, MIT
The open-source sync engine. Nested JSON documents in Elasticsearch and OpenSearch, kept in sync in real time.
-
PGSync ClickHouse
Mirror free, from $19/mo
Stream Postgres into ClickHouse. Mirror one table, or flatten a whole tree into one wide table.
-
django-pgsync
Free, open source
Declare search indexes from your Django models. PGSync catches every write, also the ones that skip signals.
What is PGSync?¶
PGSync is a lightweight middleware that captures changes from your relational database and writes structured, denormalized documents to your search cluster.
Define your document schema once in JSON, and PGSync handles change capture, ordering, and delivery automatically, no custom ETL code required.
-
Change Data Capture
Automatically captures INSERT, UPDATE, and DELETE using logical replication
-
Low Overhead
Minimal impact on database performance
-
Fault Tolerant
Resumes from last checkpoint after crashes
-
Nested Documents
Transform relational data into deeply nested JSON
Quick Start¶
Define your schema in JSON:
{
"database": "mydb",
"index": "books",
"nodes": {
"table": "book",
"children": [{ "table": "author" }]
}
}
Then start syncing:
PGSync is supported by DigitalOcean.