OtterTune automatic configuration tuning helps Amazon RDS PostgreSQL and Amazon Aurora PostgreSQL database users get better database performance at a lower cost, and with less DBA effort:
OtterTune works by analyzing a PostgreSQL database’s workload, and then using machine learning algorithms to optimize each of 100+ PostgreSQL configuration settings to support the database’s specific workload. There are 3 questions people commonly ask about OtterTune:
- Does OtterTune need to access my PostgreSQL data or queries? No (“How OtterTune Securely Collects Metrics“).
- Can I control how OtterTune makes changes to database settings? Yes (“Human-in-the-Loop Control Over Auto-tuning“).
- What PostgreSQL configuration settings does OtterTune optimize? Read on to learn more about what knobs OtterTune optimizes…
Which PostgreSQL Configuration Settings Does OtterTune Auto-Tune?
OtterTune analyzes and auto-tunes over 100 different PostgreSQL knobs. The exact list of knobs depends on two things:
The edition of OtterTune you run:
- OtterTune Starter edition – free version, tunes a core set of 20 knobs
- OtterTune Standard and Enterprise edition – paid versions, which tune 100+ knobs
The version of PostgreSQL you run
- As new, performance-related knobs are added to PostgreSQL, OtterTune adds support for them.
- Amazon Aurora PostgreSQL implements a different storage layer than Amazon RDS and thus has fewer adjustable knobs. Therefore, Aurora users should note that OtterTune optimizes a slightly smaller subset of the knobs it tunes for Amazon RDS PostgreSQL.
Below, we list the Amazon RDS PostgreSQL knobs that OtterTune automatically optimizes.
“Core” PostgreSQL Knobs Tuned by the free OtterTune Starter Edition
The free OtterTune Starter Edition tunes the following knobs for Amazon RDS PostgreSQL versions 9.6, 10, 11, 12, 13, and 14:
100+ PostgreSQL Knobs Tuned by OtterTune Standard and Enterprise Editions
The paid OtterTune Standard and Enterprise Editions tune the same knobs as OtterTune Starter, above, plus these additional 90+ knobs, depending on which version of PostgreSQL you run:
Knobs Tuned in PostgreSQL 9.6 and higher (except where noted)
- min_parallel_relation_size (version 9.6 only)
- replacement_sort_tuples (versions 9.6 and 10 only)
- sql_inheritance (version 9.6 only)
- wal_keep_segments (versions 9.6, 10, 11, and 12 only)
Knobs Tuned in PostgreSQL 10 and Higher (except where noted)
In PostgreSQL 10, OtterTune tunes all of the knobs listed above (except where noted), plus these knobs:
Knobs Tuned in PostgreSQL 11 and Higher
In PostgreSQL 11, OtterTune tunes all of the knobs listed above (except where noted), plus these knobs:
There weren’t any new knobs introduced in PostgreSQL 12 worth auto-tuning.
Knobs Tuned in PostgreSQL 13 and higher
In PostgreSQL 13, OtterTune tunes all of the knobs listed above (except where noted), plus these knobs:
Knobs Tuned in PostgreSQL 14
In PostgreSQL 14, OtterTune tunes all of the knobs listed above (except where noted), plus these knobs:
Try it yourself
If you’d like to learn more about how OtterTune automates PostgreSQL database configuration tuning, watch this short video.