Continue below for a comparison of the new Database Insights with pganalyze, or read our post on Performance Insights vs Database Insights.
Compare pganalyze to | Database Insights | pganalyze |
|---|---|---|
| Top-Level Query Metrics | For Top 25 Queries | For All Queries (Unlimited) |
| Drill Into Per-Query Metrics | Only with Advanced Mode | |
| EXPLAIN Plan Statistics | Only with Advanced Mode and Amazon Aurora | |
| EXPLAIN Plan Samples with execution details | | |
| Automatic EXPLAIN ANALYZE through auto_explain | | |
| EXPLAIN Insights ("Why is this query slow?") | | |
| EXPLAIN Plan Comparison | Plan text side-by-side view for Plan Statistics | Purpose-built diff of plan structure and metrics |
| Query Rewrite Recommendations | | |
| Index Recommendations | | |
| VACUUM Recommendations | | |
| Overall System Metrics | | |
| Integration with APM tools / Tracing | AWS ApplicationSignals integration only | Integrate APM tool of choice through OpenTelemetry Tracing |
| Integration with Third-Party Dashboards | | Through API |
| Active Session History | | |
| Wait Event Monitoring | | |
| Lock Analysis (Blocked Queries) | Only for AWS Aurora with Advanced Mode | |
| Schema Monitoring | | Built-In |
| VACUUM Monitoring | | Built-In In-Depth Monitoring |
| Replication Monitoring | | Built-In |
| Log Monitoring | (charged extra) | Built-In |
| Pre-Configured Log Filters | | 100+ Log Events Detected Automatically |
| PII obfuscation for sensitive log data | PII in logs filtered using ML-based data protection policies | PII in logs filtered specifically for each log event, unknown log text masked by default |
| Supported Databases | MySQL/Postgres/SQL Server/Oracle | Postgres |
| Hybrid Monitoring of on-premise databases and Postgres in VM/Kubernetes | RDS and Aurora only | Fully supports mixed environments |
| Deployment Method | Cloud | Cloud or Self-Hosted (behind firewall) |
Frequently asked questions
What is the performance overhead of pganalyze on my database?
Minimal, with the recommended configuration. The pganalyze collector runs outside your database and reads Postgres statistics views on a schedule: connection activity every 10 seconds, query statistics every minute, and schema and system statistics every 10 minutes. EXPLAIN plan collection uses the Postgres auto_explain module with the settings pganalyze recommends: log only statements that run longer than 1000 ms, and keep per-node timing off, since repeatedly reading the system clock is what slows queries down.
Does pganalyze work with Amazon RDS and Aurora?
Yes. The pganalyze collector runs in your AWS account on EC2, ECS, EKS, or Docker, connects to RDS or Aurora over the standard Postgres port, and uses the AWS API for CloudWatch metrics and log download. Cross-account setups work with VPC peering and an assumed IAM role.
Where does the pganalyze collector run? Does it install anything on the database server?
The pganalyze collector runs on any Linux host, container, or Kubernetes pod that can reach your database: a small VM, an ECS task, a Helm-deployed pod, or a Heroku app. On managed services such as RDS, Aurora, Cloud SQL, or Supabase there is nothing to install on the database itself. On self-managed Postgres you can run it on the database server to also collect OS metrics.
How much does pganalyze cost?
pganalyze Production is $149 per month for one Postgres server with 14 days of history. Scale is $399 per month for four billable servers, then $100 per month per additional server, with 35 days of history, auto_explain plans, Query Advisor, VACUUM Advisor, and Log Insights. Enterprise is priced per engagement, billed annually, with 100 days of history and the option to self-host. Every plan includes unlimited users and a 14-day free trial.
How does the pganalyze Index Advisor decide which indexes to recommend?
The pganalyze Index Advisor looks at every query on a table, not one query at a time, and models how Postgres would use each candidate index with planner logic and a constraint programming solver. It weighs the read time an index saves against the write overhead it adds, so it can avoid an index that speeds up one query but slows down the table writes significantly. Recommendations appear within 48 hours and include the reasoning; nothing is created automatically.
How does pganalyze collect EXPLAIN plans?
Two ways. The recommended one is auto_explain: Postgres logs the plan of every query slower than a threshold you set, and the pganalyze collector reads those plans from the log through Log Insights, with parameter values normalized when PII filtering is enabled. The other is log-based EXPLAIN, where the collector runs EXPLAIN without ANALYZE for slow queries it sees in the logs. EXPLAIN plan collection is available on the Scale plan and higher.
Does pganalyze have an MCP server, and does it work with Claude Code, Codex, and Cursor?
Yes. The pganalyze MCP Server works with Claude Code, Codex, Cursor, and any other MCP client that supports HTTP transport, such as Claude Desktop, AWS DevOps Agent or VS Code. In Claude Code, add it with claude mcp add --transport http pganalyze https://app.pganalyze.com/mcp. It gives the assistant read access to the query statistics, EXPLAIN plans, Index Advisor results, issues, and logs that pganalyze already collected, so it can investigate a slow query without touching your database. It is in public preview on all current plans.
How is pganalyze different from Amazon CloudWatch Database Insights (formerly Performance Insights)?
Many teams start with CloudWatch Database Insights: wait event analysis and the top 25 queries in the free Standard mode, plus execution plans for Aurora and history beyond seven days in the paid, per-vCPU Advanced mode. pganalyze adds what Database Insights does not cover: it keeps every query with full history, collects EXPLAIN plans through auto_explain on RDS and Aurora, points at the slow node in each plan, recommends indexes, query rewrites, and autovacuum settings, and works the same for self-managed and Kubernetes Postgres.
Hundreds Of Companies Monitor Their Production PostgreSQL Databases With pganalyze


