shared_preload_libraries
Requires a restarttuned by pgconfiguratorlist of library names
Extensions loaded at server start — required for pg_stat_statements, auto_explain, etc.
What pgconfigurator would set
32 GB · 8 vCPU · NVMe · OLTP
Computing…
Tune for your exact server → /tunecomputed in your browser · nothing uploaded
What it does
Some extensions must be loaded into every backend at startup rather than created on demand; shared_preload_libraries is that list. The big observability extensions — pg_stat_statements, auto_explain, pg_prewarm — live here, as do many third-party modules.
How to tune it
Almost every production system should preload pg_stat_statements (aggregated query stats). Add auto_explain to capture plans of slow queries automatically. Each library uses a little memory and the change needs a restart, so set the full list at once.
FAQ
- How do I enable pg_stat_statements?
- Add it to shared_preload_libraries (e.g. shared_preload_libraries = 'pg_stat_statements'), restart PostgreSQL, then run CREATE EXTENSION pg_stat_statements once per database. It then aggregates execution stats per query shape.