Answers to what engineering teams ask before and after connecting a database to pganalyze, each with a link to reference documentation.
pganalyze is a Postgres performance optimization product for engineering teams. It captures query performance, wait event data and other critical information, finds the root cause of slow queries, bad indexes, and table bloat in minutes, and lets you investigate safely with AI tools such as Claude Code through the pganalyze MCP Server. With pganalyze Workbooks, fixes to slow queries can be tested and validated before you ship. More than 700 teams, including Notion, Auto Trader UK, and Fivetran, use it through the cloud service or self-host with pganalyze Enterprise Server.
No. pganalyze is a commercial product, sold as a cloud service with a 14-day free trial or as the self-hosted pganalyze Enterprise Server. Parts of it are open source: the pganalyze collector, the agent that runs in your infrastructure and connects to your database, is on GitHub so you can read exactly what it collects. pganalyze also maintains open source Postgres libraries such as pg_query, which powers the query normalization, pg_stat_plans, an extension for Postgres that captures plan statistics and helps detect regressions, and contributes upstream to the PostgreSQL project.
No. pganalyze is built only for PostgreSQL and derivative versions (e.g. Amazon Aurora) and the services that run it: Amazon RDS and Aurora, Google Cloud SQL and AlloyDB, Azure Database for PostgreSQL, Heroku Postgres, Crunchy Bridge, Aiven, Supabase, Neon, and self-managed Postgres. That focus is why the advisors can reason about Postgres planner behavior, autovacuum, and pg_stat_statements in detail.
No. The pganalyze Index Advisor, Query Advisor, and VACUUM Advisor use deterministic, rule-based analysis built on Postgres planner logic and a constraint programming solver, so the same input always produces the same recommendation, and each one shows its reasoning. Nothing is applied automatically; you review and run every change. The pganalyze MCP Server is the AI-facing part: it lets Claude Code, Codex, or Cursor read those results.
No. The pganalyze collector connects with a monitoring role that can only read system statistics and metadata, so it cannot query the rows in your tables or modify your database. The collector is open source, makes only outbound connections, and does not listen on any ports. Run pganalyze-collector --dry-run to see everything it would send. Note that when using pganalyze Log Insights the collector will also capture log events, some of which might contain sensitive data. This data can be filtered with the PII filtering options.
Superuser, or the provider's admin role such as rds_superuser, is needed once, during setup, to create the monitoring user, enable pg_stat_statements, and install the helper functions. After that the pganalyze collector runs as a dedicated pganalyze user with the built-in pg_monitor role and no superuser rights, limited to five connections.
The pganalyze collector sends schema definitions, query statistics with normalized query text, table and index statistics, OS metrics, and, if you enable Log Insights, classified log lines. It sends them over WebSockets or HTTPS to api.pganalyze.com, or to your own pganalyze Enterprise Server. It never sends rows from your tables or the results of your queries.
Filtering happens inside the pganalyze collector, on your infrastructure, before anything leaves. Query text is normalized, so secret = '123' is stored as secret = $0. By default the collector also redacts Postgres credentials and any log line it cannot classify. Parameter values in query samples are sent unless you set filter_query_sample: normalize, and filter_log_secret: all can be used to redact every potentially sensitive log message; the docs list the maximum-privacy configuration.
Yes. pganalyze is SOC 2 Type 2 certified. The cloud service runs in AWS data centers, payments go through Stripe, and a bug bounty program covers the application. You can request the SOC 2 report through the link below. We recommend that teams that need monitoring data to stay inside their own network run pganalyze Enterprise Server instead.
Yes. pganalyze supports sign-in with username and password, Google, and SAML 2.0 identity providers such as Okta and Microsoft Entra ID. SAML SSO is available on the Scale plan and above, and is not enabled during trials. LDAP and Active Directory are supported on pganalyze Enterprise Server. Every plan includes unlimited users, and permissions can be scoped to a server or server group.
Yes. Each member of a pganalyze organization is assigned a role made up of permissions such as view, modify, billing, API, manage, and create workbooks. The view, modify, and create workbooks permissions can be restricted to a specific database, server, or server group, so a team only sees the databases it owns. Roles are configured on the Member Roles settings page, and an organization always keeps at least one member with the manage permission.
Historic statistics are kept for 14 days on the Production plan, 35 days on Scale, and 100 days on Enterprise. When you remove a server from pganalyze, its data ages out within that retention window, and support can delete it immediately on request. Metadata as well as information in pganalyze Workbooks is kept until you delete them or request deletion.
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.
pganalyze has step-by-step guides for Amazon RDS and Aurora, Google Cloud SQL and AlloyDB, Azure Database for PostgreSQL, Heroku Postgres, Crunchy Bridge, Aiven, Supabase, Neon, and self-managed Postgres on VMs, containers, or Kubernetes. Any other provider works through the self-managed guide as long as the collector can reach the database over the network, without system-level metrics.
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.
Yes. On Supabase, pg_stat_statements is already enabled, and the collector connects through the session pooler on port 5432. On Neon, setup is per branch, and host-level metrics such as CPU and memory are not available because Neon does not expose them; EXPLAIN plan collection through auto_explain is also not available on Neon. Query statistics, the Index Advisor, and VACUUM insights work on both.
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.
Yes. pganalyze reads query statistics from pg_stat_statements, which ships with Postgres. It must be listed in shared_preload_libraries, and changing that setting needs one database restart. Managed providers expose it as a parameter, and many providers such as Amazon RDS/Aurora and Supabase enable it by default.
The pganalyze dashboard shows query statistics and metrics within about 15 minutes of the collector's first snapshot. Index Advisor insights appear within 48 hours, once it has seen a representative workload, and VACUUM Advisor insights within about 24 hours when auto_explain is enabled and problematic plans get captured.
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.
One billable server is one running Postgres instance: one primary process and the databases in it. On the Scale and Enterprise plans a replica counts as half a server, rounded up. An Aurora cluster with one writer and two readers counts as two billable servers. Billing uses the highest number of active servers seen in the last 24 hours.
No. pganalyze has a 14-day free trial that includes the Scale plan features, then paid plans starting at $149 per month.
The pganalyze free trial lasts 14 days and includes the Scale plan features, including Log Insights and EXPLAIN plan collection. No credit card is needed to start; billing details are only asked for when you continue on a paid plan after the trial. If you need more time to connect a production database, you can request a trial extension using the in-app support form.
No. Every pganalyze plan, from Production to Enterprise, includes unlimited users at no extra cost, so the whole engineering team can have access. pganalyze pricing is per billable Postgres server, not per seat. Members can belong to several organizations, and each organization grants access through invites or single sign-on.
The Index Advisor, Workbooks, automated health checks, and the pganalyze MCP Server are on every plan. Scale adds auto_explain plan collection with EXPLAIN insights, the Query Advisor, the VACUUM Advisor, Log Insights with PII filtering, SAML SSO, and 35 days of history. Enterprise adds self-hosting with pganalyze Enterprise Server, LDAP, 100 days of history, and Solution Engineering support.
Yes. The Production and Scale plans are paid monthly by credit card through Stripe, or through the AWS Marketplace. Annual payments and volume discounts are available for Enterprise plans and can be paid by invoice, ACH, international wire or the AWS Marketplace and are set up by contacting pganalyze.
Self-serve monthly plans can be canceled by going to Settings and then Billing in the pganalyze app. Enterprise plans are canceled by contacting pganalyze. Billable servers are a fixed subscription for the number you choose, so reducing the count mid-month for monthly plans gives a pro-rated credit on the next renewal invoice rather than a refund.
The Enterprise plan is pganalyze for large organizations, delivered either as the Enterprise Cloud plan on the pganalyze hosted service or as pganalyze Enterprise Server running on premise or in your own cloud. Both include everything on Scale plus 100 days of historic statistics, single sign-on with role based access control, volume discounts and tailored pricing for many small servers, and proactive Solution Engineering support and trainings. Enterprise Server adds LDAP sign-in and keeps all monitoring data inside your network. Pricing is tailored to your use case, billed annually; contact pganalyze for a quote or a guided evaluation.
Yes. pganalyze Enterprise Server is a fully self-contained version of pganalyze that runs behind your firewall on Docker, on Kubernetes with EKS or AKS, or on a VM, with the same query monitoring, Index and Query Advisor, EXPLAIN analysis, and Log Insights as the cloud service. No monitoring data leaves your network. It is part of the Enterprise plan; contact pganalyze for a trial.
Yes. With pganalyze Enterprise Server you have the option to completely turn off any telemetry or online license verification to support use cases where no outbound internet access is allowed. Our solutions engineering team can help you implement best practices for such environments, including how to get the container image loaded into the environment.
Yes. For Enterprise and large Postgres deployments, pganalyze offers a one-month guided evaluation in place of the self-serve 14-day trial, with the pganalyze team working with you through setup and the review of findings on your own workload. It is available for the cloud service and for the self-hosted pganalyze Enterprise Server. Contact pganalyze to set one up.
Enterprise customers get proactive Solution Engineering support from the pganalyze team, including trainings for using pganalyze effectively on your own databases. Before purchase, the same team runs the one-month guided evaluation for large deployments. After purchase, our team helps with procurement documentation such as vendor setup forms and security questionnaires. Solution Engineering support is part of the Enterprise plan for both Enterprise Cloud and pganalyze Enterprise Server. Contact pganalyze to talk through what your rollout needs.
The self-serve Production and Scale plans run on pganalyze cloud. The Enterprise Cloud plan is the same cloud service with enterprise terms: 100 days of history, volume pricing, and Solution Engineering support. pganalyze Enterprise Server is the self-hosted Enterprise option: the same monitoring, advisors, EXPLAIN analysis, Log Insights, and MCP Server as the cloud service, running behind your firewall, plus LDAP sign-in, read-write API keys, and no daily log volume limit.
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.
No. The pganalyze Index Advisor recommends indexes and shows the expected impact; you review and run the CREATE INDEX yourself, or implement the recommendation through a database migration. pganalyze never runs DDL against your database, and the collector's monitoring role could not do so anyway.
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.
The pganalyze Query Advisor analyzes the EXPLAIN plans pganalyze collects, from auto_explain or from plans uploaded to a Workbook, and flags optimization opportunities with a suggested fix: inefficient nested loops, the wrong index chosen because of ORDER BY, inefficient index use, late join filters with OR, and disk spills from a low work_mem. Suggestions are query rewrites and planner hints that you can benchmark in Workbooks before changing production; the algorithms are deterministic, built on Postgres planner behavior. Query Advisor is on the Scale and Enterprise plans.
The pganalyze VACUUM Advisor watches autovacuum and manual VACUUM activity on every monitored server and recommends configuration changes for your workload, in four areas: bloat, freezing, performance, and activity. Its insights flag insufficient VACUUM frequency, VACUUM blocked by the xmin horizon, approaching transaction ID or multixact ID wraparound, and inefficient index phases, each with the reasoning behind it. It uses data the collector already gathers; metrics appear about 10 minutes after onboarding and insights after about a day. VACUUM Advisor is on the Scale and Enterprise plans.
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.
No. The pganalyze MCP Server never opens a connection to your database. It answers from the statistics, EXPLAIN plans, and logs the collector already sent to pganalyze. You authorize each client through OAuth: basic read access is always granted, full read and Workbook write access are separate opt-ins, and the server never sees more than your own account permissions allow. Admins can switch it off for the whole organization. The one write path is the optional Workbooks tools: EXPLAIN ANALYZE through the collector's separate role, on a query you approve, with a 60-second timeout and parameter values you choose.
Yes. pganalyze checks run every 30 minutes, near real time for connection and lock issues, or daily, and alert rules route them to email, Slack, or PagerDuty. Slack receives every severity; email and PagerDuty receive critical issues. Acknowledging or resolving an issue in pganalyze syncs to PagerDuty.
Yes, through OpenTelemetry. The pganalyze collector can export a span for each EXPLAIN plan it collects to Honeycomb, Datadog, or New Relic, linked to the application trace through a traceparent query tag, so a slow database span in your APM opens the matching plan in pganalyze.
Yes. pganalyze exposes the same GraphQL API its own interface uses, with read access to servers, issues, and query statistics through an organization API key or a personal access token, plus the MCP Server for AI tools. pganalyze Enterprise Server also supports read-write keys for adding and updating servers.
The pganalyze collector samples connection activity and wait events every 10 seconds, collects query statistics every minute, sends a full snapshot with schema and table statistics every 10 minutes, and streams log lines within seconds when Log Insights is enabled. Query performance is shown at one-minute granularity.
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.
Datadog Database Monitoring fits when you want database metrics inside a general observability platform. pganalyze goes deeper on Postgres: it normalizes and PII-filters EXPLAIN plans, its Index Advisor evaluates every query on a table, and it adds VACUUM tuning, Query Advisor rewrites, Workbooks, and built-in Postgres log parsing. Many teams combine Datadog APM with pganalyze: the pganalyze collector exports each EXPLAIN plan as an OpenTelemetry span into your Datadog APM traces, matched through the traceparent query tag the Datadog tracing library adds with DD_DBM_PROPAGATION_MODE set to full, so a slow database span in Datadog opens the plan in pganalyze.
pgDash shows Postgres metrics and the top 100 queries, with query text cut at 500 characters. pganalyze tracks every query up to your pg_stat_statements limit with the full text, and adds the Index Advisor and VACUUM Advisor, EXPLAIN plan insights with PII obfuscation, every Postgres log event type, and wait-event history for finding blocking queries.
No. Application performance monitoring tools trace requests across your services. pganalyze is a Postgres performance tool: it profiles the database itself and tells you which index, query change, or autovacuum setting to fix. It complements an APM; the OpenTelemetry integration links a slow database span in Datadog, Honeycomb, or New Relic to its EXPLAIN plan in pganalyze.
Last updated November 3, 2026.
Get in touch
Ask the pganalyze team directly.