Dr. Estera Kot

Postgres without a DBA · Part 2 of 3

PostgreSQL tuning tools: calculator, dashboard, or advisor?

Every tuning tool answers one question. Pick the tool whose question matches yours.

By Dr. Estera Kot, CTO at Clouds on Mars, Microsoft MVP, and former Microsoft Principal Product Manager. Published .

The best PostgreSQL tuning tool is the one that answers the question you have. Tools fall into three kinds. A configuration calculator answers what a sane start is for this hardware. A dashboard answers what happened on the server. An advisor answers what to change, how sure it is, and what proves it. Teams without a database administrator need the third answer, and they usually buy the second.

A PostgreSQL tuning advisor reads the server's own statistics and recommends specific setting or index changes, each with its evidence, severity, and confidence. A configuration calculator such as PGTune derives settings from hardware facts only and never sees the workload.

In short

  1. Calculators such as PGTune and PGConfig turn RAM, CPUs, version, and workload type into a starting configuration. They never see the workload, so a few settings stay guesses.
  2. Dashboards such as pgwatch, Percona Monitoring and Management, and Datadog Database Monitoring show what happened. A person still reads the graphs and picks the change.
  3. An advisor states the change, the measurement behind it, and how sure it is. Ask any tool the five evidence questions before you trust it. On self-managed PostgreSQL 18, test Guardioz on your server.

Three kinds of PostgreSQL tuning tools

PostgreSQL tuning tools differ by the question they answer, not by the length of their feature lists. There are three questions. A calculator answers what a sane start is for this hardware. A dashboard answers what happened on the server. An advisor answers what to change, how sure it is, and what proves it.

Each kind has a blind spot. A calculator never sees the workload. A dashboard shows the workload but leaves the decision to a person. An advisor decides only within the checks it has, so it must say which checks those are.

IDKindQuestion it answersInputOutputEvidence shownBlind spotExamples
T1CalculatorWhat is a sane start for this hardware?RAM, CPUs, PostgreSQL version, workload type, storage, connectionsA starting configuration as a file or ALTER SYSTEM linesNone. A formula applied to your inputs.The workload: cache pressure, WAL rate, temporary filesPGTune, PGConfig
T2DashboardWhat happened on the server?Statistics views and host metrics, collected over timeGraphs, history, and alertsThe raw metricsThe decision. A person reads the graphs and picks the change.pgwatch, Percona Monitoring and Management, Datadog Database Monitoring, Amazon RDS Database Insights
T3AdvisorWhat do I change, how sure are you, and what proves it?The server's own statistics, settings, catalogs, and machine factsA specific change with severity, confidence, and the statement to runThe measurement behind each changeWhatever its checks do not cover. A good advisor lists that.pganalyze advisors, Percona Advisors, Postgres.AI check, DBtune, Postgres MCP Pro, Guardioz
Three questions, three kinds of PostgreSQL tuning tools A calculator answers what a sane start is for this hardware. It reads RAM, CPUs, version, and workload type, and gives a starting configuration with no evidence. Tools: PGTune, PGConfig. A dashboard answers what happened on the server. It reads statistics and metrics over time and gives graphs, history, and alerts, and a person decides. Tools: pgwatch, Percona PMM, Datadog Database Monitoring, Amazon RDS Database Insights. An advisor answers what to change and what proves it. It reads the server's own statistics, settings, and machine facts, and gives the change, its evidence, and how sure it is. Tools: pganalyze advisors, Percona Advisors, Postgres.AI check, DBtune, Postgres MCP Pro, Guardioz. Teams without a DBA need the third column. CALCULATOR What is a sane start for this hardware? READS RAM, CPUs, version, workload type, storage GIVES YOU A starting configuration, no evidence TOOLS PGTune PGConfig DASHBOARD What happened on the server? READS Statistics views and metrics over time GIVES YOU Graphs, history, alerts. A person decides. TOOLS pgwatch Percona PMM Datadog Database Monitoring Amazon RDS Database Insights ADVISOR What do I change, and what proves it? READS The server's own statistics, settings, machine facts GIVES YOU The change, its evidence, and how sure it is TOOLS pganalyze advisors Percona Advisors Postgres.AI check DBtune Postgres MCP Pro Guardioz Teams without a DBA need the third column, and usually buy the second. Three questions, three kinds of PostgreSQL tuning tools Calculator: what is a sane start for this hardware. Dashboard: what happened on the server. Advisor: what to change and what proves it. Teams without a DBA need the advisor. CALCULATOR What is a sane start for this hardware? READS RAM, CPUs, version, workload type, storage GIVES YOU A starting configuration, no evidence TOOLS PGTune PGConfig DASHBOARD What happened on the server? READS Statistics views and metrics over time GIVES YOU Graphs, history, alerts. A person decides. TOOLS pgwatch Percona PMM Datadog Database Monitoring Amazon RDS Database Insights ADVISOR What do I change, and what proves it? READS The server's own statistics, settings, machine facts GIVES YOU The change, its evidence, and how sure it is TOOLS pganalyze advisors Percona Advisors Postgres.AI check DBtune Postgres MCP Pro Guardioz Teams without a DBA need the advisor, and usually buy the dashboard.
Figure 1. Place each feature under the question it answers, not each product under one label. Percona, for example, ships dashboards and advisors in the same product. Tool descriptions come from each tool's own page, checked on November 4, 2026.

One product can sit in two columns. Percona Monitoring and Management is a dashboard and also ships advisors. Datadog Database Monitoring adds a Recommendations page to its query views. Judge the feature you will use, not the logo.

Calculators: PGTune and PGConfig

A configuration calculator gives a sane first configuration and nothing more. It is the right tool on the first day of a new server, before there is any workload to measure.

PGTune describes itself as a tool to “calculate configuration for PostgreSQL based on the maximum performance for a given hardware configuration.” It asks for the PostgreSQL version, the operating system, the type of application, total memory, the number of CPUs, the number of connections, the type of storage, and the data size relative to RAM. Its version list runs from 10 to 19, so it accepts PostgreSQL 18. The README on GitHub sums it up as “Tuning PostgreSQL config by your hardware.”

PGConfig “recommends PostgreSQL configuration values from the facts about a server”: memory, CPUs, version, workload, and storage. It writes the result as a postgresql.conf fragment, ALTER SYSTEM statements, StackGres, or JSON. It runs as a web app, a command-line tool, a REST API, and an MCP endpoint, and through MCP each value comes with the reason for it.

The PostgreSQL documentation itself contains calculator-style advice. For shared_buffers it says that on a dedicated server with 1 GB or more of RAM, “a reasonable starting value for shared_buffers is 25% of the memory in your system,” and that more than 40% of RAM is unlikely to work better. That is a start, written for every server at once. Source: PostgreSQL 18, resource consumption.

What a calculator cannot know

The settings that matter most depend on measurements that no input form asks for. The table lists what an advisor reads for three of them. The middle column comes from the Guardioz checks reference, which publishes the inputs of every settings check. The right column comes from the PostgreSQL 18 documentation.

IDSettingWhat it depends on, measured on the serverWhat the PostgreSQL docs say
C1shared_buffersHow much data the server pushes out of its cache to make room for new reads, and the total size of the databasesThe PostgreSQL docs give 25% of RAM as a reasonable starting value on a dedicated server with 1 GB or more of RAM, and say more than 40% is unlikely to work better
C2work_memThe temporary files that queries write to disk, the connection limit, and the current shared_buffersOne query can run several sort and hash operations at once, and several sessions can run them together, so total use can be many times work_mem
C3max_wal_sizeHow much WAL the server generates, how often a checkpoint was requested instead of started by the schedule, and the free space on the data diskThe default is 1 GB and it is a soft limit. PostgreSQL logs a warning when WAL-filling checkpoints come closer together than checkpoint_warning, 30 seconds by default

Take max_wal_size. Its right value depends on how fast the server writes WAL and how often a checkpoint starts because WAL filled up instead of because the timer ran out. A form with RAM and CPU count cannot hold that number. Guardioz explains the setting in depth in max_wal_size, explained.

Use a calculator once. Then measure the server and move to a tool that reads what it measures.

Dashboards: pgwatch, Percona PMM, Datadog, cloud insights

A dashboard answers what happened. It records metrics over time and draws them. It does not choose the change. A person who knows which graph matters still has to read it, and on a team without a DBA that person is missing.

Dashboards are the right tool when the team wants history, alerting, and query-level views. Most of them center on queries. When the problem is a slow query, that is exactly what you need.

Advisors: what they read and what they output

An advisor names the change and shows the evidence for it. Advisors differ in what they read, how much they cover, and whether they act on their own. The table describes each one in the words of its own documentation, checked on November 4, 2026.

IDToolWhat it readsWhat it outputs
A1pganalyze Index AdvisorThe query workload collected through pg_stat_statements, schema definitions and sizes, and I/O estimates from the PostgreSQL cost modelMissing and unused index recommendations, and index consolidation in preview. pganalyze states that results require a human review by a database operator.
A2pganalyze VACUUM AdvisorEach table's statistics, combined with the PostgreSQL logsRecommendations on table bloat, transaction ID wraparound, and the xmin horizon, with notifications that can go to Slack
A3Percona Advisors in PMMChecks that scan MySQL, MongoDB, and PostgreSQL databases for security, configuration, and performance issuesAdvisors that, in Percona's words, flag what needs attention and tell you how to fix it
A4Postgres.AI free health checkA connection with read-only access and standard Postgres credentials, no agent. More than 40 checks across bloat, index hygiene, query performance, configuration, autovacuum, and observabilityA health score, issues grouped by severity, and a one-click fix or the exact SQL for each issue. The page lists RDS, Cloud SQL, Azure, Supabase, self-managed, and Kubernetes.
A5DBtunePostgreSQL workload and resource usage. It tests server parameter configurations against the workload and machine type, within the parameters you allow.The best-performing settings, applied automatically or after your approval, plus index recommendations and autovacuum monitoring
A6Postgres MCP ProThe database, through an open source Model Context Protocol server: index health, connection use, buffer cache, vacuum health, sequence limits, replication lag, and EXPLAIN plansAnswers to an AI agent. The README says it complements generative AI with deterministic tools and classical optimization algorithms.
A7Azure Database for PostgreSQL intelligent tuningThe volume and patterns of write operations on a flexible serverAutomatic changes to four parameters: bgwriter_delay, checkpoint_completion_target, max_wal_size, and min_wal_size, within specific ranges. Its autovacuum tuning is deprecated in favor of adaptive autovacuum.
A8GuardiozSettings, system catalogs, statistics views, and machine facts from a self-managed PostgreSQL 18 server, about once an hourFindings with severity, the measured data behind workload-sized values, a confidence percentage, and a statement to copy with a restart flag. You run every statement.

Three patterns stand out. Query advisors such as the pganalyze Index Advisor read pg_stat_statements and focus on indexes. Automatic tuners such as DBtune and Azure intelligent tuning change parameters themselves. Recommendation-only advisors such as Guardioz hand you the statement and leave the change to you.

If you are looking for OtterTune, its own site now reads “OtterTune is Dead (2020-2024)” and describes it as “a database tuning service start-up out of Carnegie Mellon University.”

The evidence test: five questions for any tuning tool

Ask any PostgreSQL tuning tool five questions before you trust a single recommendation. They work for calculators, dashboards, advisors, and AI assistants alike.

  1. E1Does it show the measurement behind each recommendation? A recommended value with no evidence is a calculator result with a nicer screen. Ask to see the counter or the size that produced it.
  2. E2Does it say how sure it is? Confidence should rise as the tool measures more of your workload. Guardioz, for example, gives a confidence percentage that starts low after the install and rises as history accumulates.
  3. E3Does it say when to leave a setting alone? A tool that never says “leave it” gives you no way to tell a measured value from a rule of thumb. A good advisor lists the checks that passed, so you can see what it verified. The Guardioz post max_wal_size, explained covers when to leave that setting alone.
  4. E4Does it flag restarts and disk limits? Some settings take effect only after a restart. The PostgreSQL docs state that shared_buffers “can only be set at server start.” A larger max_wal_size needs free disk. The advisor should say both before you run anything.
  5. E5Does it list what it does not check? Every tool has a boundary. A tool that does not publish it leaves you to assume coverage you do not have.

The same five questions apply when you ask ChatGPT or Claude to tune postgresql.conf. Part 3 shows what an assistant cannot see from a prompt.

Which PostgreSQL tuning tool fits your setup

Match the tool to your setup and to the question you have today. Most teams need two kinds over the life of a server: a calculator on the first day, then a dashboard or an advisor.

IDYour setupStart withWhy
W1A new self-managed server with no workload yetA calculator such as PGTune or PGConfig for the first configuration. Measure after the first real traffic.There is nothing to measure yet. A formula is the only input you have.
W2Self-managed PostgreSQL 18, no DBA, and you need to know what to changeAn advisor that reads the server, such as Guardioz. Run the ten checks from Part 1 by hand once if you want to see the inputs.You need the change and its evidence, not another graph.
W3One slow query or a slow endpointA query-level tool built on pg_stat_statements, such as pganalyze or Datadog Database MonitoringThe problem lives in the query plan. Guardioz does not analyze queries today.
W4Amazon RDS or Azure Database for PostgreSQLThe provider's own tools first: Amazon RDS Database Insights, or intelligent tuning on Azure flexible serverManaged services expose their own telemetry and controls. Guardioz does not support them.
W5A team that already runs Grafana and wants historyA dashboard such as pgwatch or Percona Monitoring and ManagementHistory and alerting are the job. Decisions stay with the team.
W6An AI agent that should inspect the databaseAn MCP server such as Postgres MCP Pro, with a read-only role. Read Part 3 first.The agent needs measured facts, not the prompt alone.

Where Guardioz fits, and where it does not

Guardioz is an advisor for self-managed PostgreSQL 18. It fits teams that run PostgreSQL themselves and have no database administrator. The scope below comes from the Guardioz documentation, checked on November 4, 2026.

What it does

What it does not do

Guardioz is in beta, early, and without an SLA. The Free plan covers one user and up to three servers, with no card.

Test Guardioz on your server

Guardioz answers the advisor question on a running server: what to change, how sure it is, and which measurement proves it.

It fits today if you run PostgreSQL 18 yourself, on Linux with systemd or on FreeBSD, and point it at a primary server.

  1. Book 30 minutes with Dr. Kot to try it on one of your servers.
  2. Write to the Guardioz team, led by Alicja Kucharczyk, at contact@guardioz.com.
  3. Start free: one user, up to three servers, no card. Or open the live demo without signing up.

On an older PostgreSQL or a managed service such as Amazon RDS or Azure Database for PostgreSQL? Guardioz does not support it yet. Write to contact@guardioz.com with your version and platform.

Key facts at a glance

Values and identifiers from each tool's own page, the PostgreSQL 18 documentation, and the Guardioz documentation, checked on November 4, 2026.

IDFactValueSource
K1PGTune inputsPostgreSQL version, OS type, DB type, total memory, number of CPUs, number of connections, data storage, total data sizePGTune
K2shared_buffers starting value25% of RAM on a dedicated server with 1 GB or more. More than 40% is unlikely to work better.PostgreSQL 18 docs
K3work_mem default4 MB per sort or hash operation. Total use can be many times the value.PostgreSQL 18 docs
K4max_wal_size default1 GB, a soft limitPostgreSQL 18 docs
K5checkpoint_warning default30 secondsPostgreSQL 18 docs
K6pg_stat_statements setupListed in shared_preload_libraries. Adding or removing it needs a restart.PostgreSQL 18 docs
K7Azure intelligent tuning parametersbgwriter_delay, checkpoint_completion_target, max_wal_size, min_wal_sizeMicrosoft Learn
K8pganalyze index recommendationsBuilt from the pg_stat_statements workload. Results require a human review.pganalyze docs
K9OtterTuneIts site reads “OtterTune is Dead (2020-2024).”ottertune.com
K10Guardioz scopePostgreSQL 18 on a server you run yourself, Linux with systemd or FreeBSD, primaries only, a collection about once an hour, ten check groupsRequirements, checks
K11Guardioz Free plan$0 for one user, up to three servers, no cardPricing

Frequently asked questions

What is the best PostgreSQL tuning tool?

The best tool is the one that answers your question. For a new server with no workload, a calculator such as PGTune gives a sane start. For history and graphs, a dashboard such as pgwatch or Percona Monitoring and Management fits. For what to change on a running server, use an advisor that shows the measurement behind each change. Test any tool with five questions: does it show the evidence, say how sure it is, say when to leave a setting alone, flag restarts, and list what it does not check.

Is PGTune accurate for PostgreSQL 18?

PGTune accepts PostgreSQL 18 as an input and computes settings from hardware facts: memory, CPUs, connections, storage, and workload type. The formula is not the problem. PGTune never sees your workload, so settings that depend on it, such as max_wal_size and work_mem, stay a starting point until you measure the server.

What replaced OtterTune?

OtterTune's own site says the company is dead and gives its years as 2020 to 2024. No single product replaced it. DBtune tests PostgreSQL parameter configurations against the workload and can apply the best one. Azure Database for PostgreSQL flexible server tunes four write parameters on its own. Advisors such as Guardioz recommend changes that you apply yourself.

Are there free PostgreSQL tuning tools?

Yes. PGTune and PGConfig are web calculators with public source code on GitHub. Percona describes Percona Monitoring and Management as open source. Postgres.AI offers a free health check. Guardioz has a Free plan for one user and up to three servers, with no card required.

Can a PostgreSQL tuning tool apply changes automatically?

Some can. DBtune can apply the best-performing settings automatically or after your approval. Intelligent tuning in Azure Database for PostgreSQL flexible server adjusts bgwriter_delay, checkpoint_completion_target, max_wal_size, and min_wal_size by itself. pganalyze states that its index recommendations require a human review by a database operator. Guardioz changes nothing on your server. You run every statement.

Do I need pg_stat_statements to tune PostgreSQL?

You need it for query tuning. Query-level tools such as the pganalyze Index Advisor read the query workload from pg_stat_statements. The module must be listed in shared_preload_libraries, so adding it needs a server restart. Settings, index health, and cleanup checks do not need it. Guardioz does not read pg_stat_statements.

What is the difference between PostgreSQL monitoring and tuning?

Monitoring records what happened on the server. Tuning decides what to change. A monitoring tool becomes a tuning tool only when it names the change, shows the measurement behind it, and says how sure it is.

Does Guardioz support Amazon RDS or Azure Database for PostgreSQL?

No. Guardioz supports PostgreSQL 18 on a server that you run yourself, on Linux with systemd or on FreeBSD, and it checks primary servers only. Managed services such as Amazon RDS and Azure Database for PostgreSQL, and PostgreSQL run by a Kubernetes operator, are not supported. Write to contact@guardioz.com with your version and platform.

About the authors

Dr. Estera Kot is CTO at Clouds on Mars, a Microsoft and Databricks partner for data and AI in Europe and the Middle East, where the team builds Guardioz. At Microsoft she was Principal Product Manager for the Apache Spark runtime in Azure Synapse Analytics and Microsoft Fabric. She is a Microsoft MVP and holds a Ph.D. in Computer Science from the Warsaw University of Technology.

Guardioz is led by Alicja Kucharczyk, a PostgreSQL expert with 15 years of experience and the Guardioz product owner. She worked in Microsoft's Azure Database for PostgreSQL group, founded the Warsaw PostgreSQL Users Group, organizes PGConf.PL, and speaks at PGConf.EU. Hear her on Postgres FM.

Sources

Tool pages, checked on November 4, 2026.

PostgreSQL 18 documentation, checked on November 4, 2026.

Guardioz, checked on November 4, 2026.