Frequently asked questions about pganalyze

Answers to what engineering teams ask before and after connecting a database to pganalyze, each with a link to reference documentation.

About pganalyze

What is pganalyze?

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.

Product tour

Is pganalyze open source?

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.

Open source components

Does pganalyze support MySQL or databases other than Postgres?

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.

Supported platforms

Does pganalyze use AI or machine learning for its recommendations?

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.

How the Indexing Engine works

Security and data access

Does pganalyze have access to the data in my database?

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.

Collector security

What permissions does the pganalyze collector need? Does it need superuser?

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.

Create the monitoring user

What data does pganalyze send out of my network, and where is it stored?

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.

What data is collected

Does pganalyze filter PII and query parameters?

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.

PII filtering

Is pganalyze SOC 2 certified?

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.

SOC 2 report

Does pganalyze support SSO with SAML, Okta, or LDAP?

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.

Single sign-on

Does pganalyze have role-based access control?

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.

Roles and permissions

How long does pganalyze retain my data?

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.

Compare plans

Install and platforms

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.

Recommended auto_explain settings

Which Postgres hosting providers does pganalyze support?

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.

Installation guides

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.

Install on Amazon RDS and Aurora

Does pganalyze support Supabase and Neon?

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.

Find and fix slow queries on Supabase and Neon

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.

Collector packages and images

Does pganalyze require pg_stat_statements, and does enabling it need a restart?

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.

Enabling pg_stat_statements

How long after setup does pganalyze show data?

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.

Getting started with the Index Advisor

Pricing and billing

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.

Pricing

What counts as a billable server in pganalyze, and do replicas count?

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.

Billing

Does pganalyze have a free plan?

No. pganalyze has a 14-day free trial that includes the Scale plan features, then paid plans starting at $149 per month.

Start a free trial

How long is the pganalyze free trial, and does it need a credit card?

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.

Start a free trial

Does pganalyze charge per user or limit the number of users?

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.

Compare plans

Which features are included in each pganalyze plan?

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.

Compare plans

Can I pay for pganalyze annually or by invoice?

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.

Billing

How do I cancel my pganalyze subscription?

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.

Billing

Enterprise plans

What is included in the pganalyze Enterprise plan?

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.

pganalyze Enterprise

Can I self-host pganalyze on-premise?

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.

pganalyze Enterprise Server

Does pganalyze offer a fully air-gapped solution?

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.

Firewall configuration

Does pganalyze offer a proof of concept or guided evaluation for large Postgres deployments?

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.

Contact pganalyze

What support and training does pganalyze offer Enterprise customers?

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.

Contact pganalyze

What is the difference between pganalyze Enterprise Server and the cloud plans?

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.

Enterprise Server docs

Features

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.

Index Advisor

Does pganalyze create indexes 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.

Indexing Engine FAQ

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.

EXPLAIN plan setup

What does the pganalyze Query Advisor do?

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.

pganalyze Query Advisor

What does the pganalyze VACUUM Advisor do?

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.

pganalyze VACUUM Advisor

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.

MCP Server

Does the pganalyze MCP Server run queries against my database?

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.

MCP Server authentication

Does pganalyze send alerts to Slack and PagerDuty?

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.

Alerts and check-up

Does pganalyze support OpenTelemetry, and does it integrate with Datadog, Honeycomb, or New Relic?

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.

OpenTelemetry integration

Does pganalyze have an API?

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.

API reference

How often does pganalyze collect statistics? Is it real time?

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.

Data collection frequency

Comparisons

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.

pganalyze vs CloudWatch Database Insights

Should I use pganalyze or Datadog Database Monitoring?

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.

pganalyze vs Datadog

How does pganalyze compare with pgDash?

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.

pganalyze vs pgDash

Is pganalyze an APM tool?

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.

OpenTelemetry integration

Last updated November 3, 2026.

Get in touch

Still have a question?

Ask the pganalyze team directly.