Effortless caching for PostgreSQL

Drop-in proxy that automatically caches your queries and keeps them fresh. No code changes required.

Built for teams shipping fast.

# Just change your connection string
DATABASE_URL=postgres://pgcache:5432/myapp

# Your queries are now cached automatically
SELECT * FROM users WHERE active = true  -- ~200ms → ~2ms

Database caching is hard

You shouldn't have to choose between fast and correct.

Manual cache invalidation

Sprinkling cache.delete() calls throughout your codebase leads to bugs, stale data, and maintenance nightmares.

Redis complexity

Running Redis means another system to monitor, scale, and secure. More infrastructure, more problems.

ORM limitations

Query caching built into ORMs rarely works well with complex queries, joins, or raw SQL.

Consistency tradeoffs

Most caching solutions force you to choose between performance and data freshness. Why not both?

Why PgCache?

Built for teams who need fast, reliable database performance without the complexity.

Zero Code Changes

Point your app at PgCache instead of Postgres. That's it. Your queries get cached automatically.

Always Fresh

CDC streaming keeps your cache updated as data changes. Fresh results without the invalidation headaches.

Built-in Observability

See cache hit rates, query latencies, and CDC sync events. Know exactly what's happening.

Wire-Compatible

Speaks native PostgreSQL protocol. Works with any language, ORM, or database tool you already use.

How it works

Three steps to faster queries.

1

Deploy PgCache

Run PgCache alongside your application. Docker, Kubernetes, or bare metal—your choice.

docker run -d -p 5432:5432 pgcache/pgcache \
  --upstream postgres://user@db:5432/myapp
2

Update your connection string

Point your application at PgCache instead of Postgres directly.

# Before
DATABASE_URL=postgres://user@db:5432/myapp

# After
DATABASE_URL=postgres://user@pgcache:5432/myapp
3

Enjoy faster queries

PgCache automatically caches SELECT queries and uses CDC streaming to keep them fresh as data changes.

# Your existing code works unchanged
users = db.query("SELECT * FROM users WHERE active = true")
Your App
PgCache
PostgreSQL

PgCache sits between your application and PostgreSQL, transparently caching queries.

Built for your team

Whether you're scaling up or optimizing costs, PgCache fits your workflow.

Infrastructure Engineers

Reduce database load

Stop scaling your Postgres vertically for read-heavy workloads. PgCache absorbs repetitive queries without application changes.

Backend Developers

Ship faster features

No more hand-rolling cache logic or debugging invalidation bugs. Focus on features, not infrastructure plumbing.

CTOs & Tech Leads

Lower infrastructure costs

Defer expensive database upgrades. PgCache can handle 10x the read traffic on the same hardware.

SREs

Improve reliability

Protect your database from traffic spikes. PgCache serves from cache when your primary is under pressure.

Ready to speed up your Postgres?

Join the waitlist for early access. Be the first to know when PgCache is ready.

No spam. Unsubscribe anytime.