Keep transactions in Postgres. Scale analytics in ClickHouse.Independent applications and agents send a mix of transactional and analytical queries to the same Postgres interface. Example queries update an order, read an account, aggregate revenue, and compare cohorts. Transactions and current-state reads execute in Postgres on local NVMe. pg_clickhouse pushes supported analytical queries on configured foreign tables to ClickHouse. Independently of query traffic, WalShadow continuously replicates selected tables from Postgres physical WAL into ClickHouse asynchronously. Query traffic and replication animate simultaneously, not as sequential stages. CLICKHOUSE MANAGED POSTGRES APPLICATIONS + AGENTS Application 1Update an order Application 2Revenue by month Agent 1Read an account Agent 2Compare cohorts Postgres SQL interfaceMixed query traffic Transactions+ current-state readsLOCAL NVMe pg_clickhouseConfigured foreign tables WalShadowSelected tables ClickHouseAnalytical engineScans +aggregationsShared analytical copy Continuous syncPhysical WALAsynchronous replication Analytical queriesQuery results Transactional queries Analytical queries Transactions stay in Postgres. WalShadow keeps the analytical copy in ClickHouse in sync.

Independent applications and agents send a mix of transactional and analytical queries to the same Postgres interface. Example queries update an order, read an account, aggregate revenue, and compare cohorts. Transactions and current-state reads execute in Postgres on local NVMe. pg_clickhouse pushes supported analytical queries on configured foreign tables to ClickHouse. Independently of query traffic, WalShadow continuously replicates selected tables from Postgres physical WAL into ClickHouse asynchronously. Query traffic and replication animate simultaneously, not as sequential stages. Animation timing is illustrative, not a latency measurement. Flows animate continuously and simultaneously along all connections.