Cache your queries.
Automatically.
Drop-in proxy that sits between your app and Postgres. No code changes. No stale data. Just faster queries.
$ export DATABASE_URL=postgres://pgcache:5433/app
$ psql $DATABASE_URL
Connected to PgCache v0.1.0
Upstream: postgres://localhost:5432/app
app=# SELECT * FROM users WHERE active = true;
-- First query: 156ms (cache miss)
app=# SELECT * FROM users WHERE active = true;
-- Second query: 0.8ms (cache hit) ⚡The Problem
Database caching shouldn't require a PhD.
Manual Invalidation
cache.delete() scattered everywhere. Miss one and you're serving stale data.
Infrastructure Overhead
Redis clusters, connection pools, monitoring dashboards. More systems, more problems.
ORM Limitations
Built-in caching breaks with complex queries, joins, and raw SQL.
Consistency vs Speed
Pick one? No. You should have both.
Features
Everything you need. Nothing you don't.
Zero Code Changes
Point your connection string at PgCache. Your app doesn't know the difference. Every SELECT gets cached automatically.
DATABASE_URL=postgres://pgcache:5433/myappAlways Fresh
Smart invalidation tracks writes and clears affected queries. No stale data.
Full Observability
Hit rates, latencies, invalidations. Know exactly what's happening.
Wire-Compatible Protocol
Speaks native PostgreSQL. Works with any language, framework, ORM, or database tool. If it talks to Postgres, it talks to PgCache.
Production Ready
Connection pooling, graceful degradation, HA support.
Fine-Grained Control
TTLs, exclusions, query patterns. Configure when needed.
How It Works
Three steps to faster queries.
Deploy PgCache
Docker, Kubernetes, or bare metal. Single binary, minimal config.
Update Connection String
Point to PgCache instead of Postgres. That's the only change.
Enjoy Fast Queries
Reads are cached. Writes trigger invalidation. You ship features.
Use Cases
Built for teams who ship.
Reduce Database Load
Stop scaling Postgres vertically for read-heavy workloads. PgCache absorbs repetitive queries.
Ship Faster
No more cache plumbing. No invalidation bugs. Focus on features.
Cut Costs
Defer expensive database upgrades. Handle 10x reads on same hardware.
Improve Reliability
Protect your database from traffic spikes. Serve from cache under pressure.
Ready to speed up your Postgres?
Join the waitlist for early access.