PostgreSQL monitoring that never touches your data

A read-only Rust daemon runs inside YOUR infrastructure, collects system catalog metrics every 30 seconds, and pushes them out. No inbound connections. No access to your actual rows. Ever.

Start Monitoring

Free for 1 database — no credit card

[Your Infrastructure]              [PG Sentinel Cloud]
+-----------------------+            +--------------------+
|  PostgreSQL DB        |            |  Dashboards        |
|  +------------------+ |  metrics   |  +--------------+  |
|  | pg_stat_*        |-+--push--->|  | Queries      |  |
|  | system catalogs  | |  (TLS)    |  | Indexes      |  |
|  +------------------+ |            |  | Bloat        |  |
|                       |            |  | Vacuum       |  |
|  +------------------+ |            |  +--------------+  |
|  | Rust Daemon      | |            +--------------------+
|  | ~5MB binary      | |
|  | every 30s        | |
|  +------------------+ |
+-----------------------+
Works with:
AWS RDS Google Cloud SQL Azure Database Self-hosted

How it works

Three steps. Five minutes. No config files to write.

1

Install the daemon

$ docker run -d \
  -e PG_HOST=your-db.rds.amazonaws.com \
  -e PG_USER=pg_sentinel \
  -e PG_DATABASE=myapp \
  -e API_TOKEN=your_token \
  dlto/pg-sentinel-daemon
2

Metrics flow every 30 seconds

The daemon reads pg_stat_statements, index stats, table sizes, vacuum progress, and more. All from system catalogs. No access to your application data.

3

Open your dashboard

Pre-built views for queries, indexes, bloat, connections — data's already flowing. No dashboards to configure, no queries to write.

What you get

Every metric pulled from PostgreSQL system catalogs, organized into actionable dashboards.

Query Performance

See exactly which queries are burning CPU and I/O — pulled straight from pg_stat_statements, without you ever logging in. Track mean and P95 execution times, calls per minute, and rows returned. Sort by total time to find the queries that matter most.

Query performance dashboard

Index Health

Find unused indexes wasting disk, missing indexes slowing queries, and bloated indexes needing a reindex — detected automatically from system catalog snapshots. Get actionable recommendations with the exact SQL to run.

Index health dashboard

Table Bloat & Vacuum

Know when autovacuum stalls before bloat becomes a problem. Track dead tuples, vacuum progress, and transaction ID wraparound risk. See which tables need attention right now, not after your database slows to a crawl.

Bloat and vacuum dashboard

Connection Monitoring

See active, idle, and waiting connections broken down by application. Spot connection leaks and lock contention in real time. Know exactly which client is holding the lock that's stalling your deploy.

Connection monitoring dashboard
"We used to spend Friday afternoons SSH-ing into production to check vacuum progress. PG Sentinel replaced that with a 30-second glance at a dashboard."
JR

Jamie Rodriguez

Staff Engineer, Infrastructure

What the daemon can and cannot see

Security is not a feature we bolted on. It's the architecture.

What we read

  • pg_stat_statements
  • pg_stat_user_tables
  • pg_stat_user_indexes
  • pg_stat_activity
  • System catalogs only

What we never see

  • Your actual table data
  • Query parameters
  • Row contents
  • Application secrets
  • Credentials or PII

How data flows

1. Daemon reads system catalogs
2. Pushes over TLS (outbound only)
3. API receives and stores encrypted
4. Dashboard renders your metrics

Push-only. No inbound connections to your database. Ever.

Frequently asked questions

Does PG Sentinel access my actual data?
No. The daemon only reads PostgreSQL system catalogs like pg_stat_statements and pg_stat_user_tables. It never runs SELECT queries against your application tables. Your row data, query parameters, and application secrets never leave your infrastructure.
How is the daemon installed?
Single binary, Docker container, or package manager. The daemon is a ~5MB Rust binary with no runtime dependencies. Run it as a Docker sidecar, a systemd service, or directly on the command line. Setup takes under five minutes.
What PostgreSQL versions are supported?
PostgreSQL 12 through 17. The daemon adapts its queries based on the version it detects, so newer catalog columns are used when available without breaking compatibility with older releases.
Do I need to open any ports?
No. The daemon makes outbound HTTPS connections only. It pushes metrics to the PG Sentinel API. There are no inbound connections, no VPN tunnels, and no firewall rules to configure.

Your Postgres is already talking. Start listening.

Start Monitoring

Free for 1 database — no credit card required