shared_buffers
Controls the size of PostgreSQL's shared buffer cache and influences cache hit rate, checkpoint behavior, and memory pressure.
Configuration reference
A working index of the PostgreSQL settings that show up when something is slow, bloated, or falling over. Open any row for the full default, change-scope, tradeoffs, and verify SQL. Defaults and ranges were read from pg_settings on live PostgreSQL 18.4.
Scan the list, open a parameter for the detail. Deeper tuning walk-throughs live in the runbooks and lessons; the glossary and error catalog explain the concepts behind them.
Showing 36 of 36
Controls the size of PostgreSQL's shared buffer cache and influences cache hit rate, checkpoint behavior, and memory pressure.
Sets per-operation memory for sorts, hashes, and similar executor nodes, so one query can consume it many times over.
Controls how long a backend waits while blocked on a lock before PostgreSQL runs its deadlock-detection cycle check. It does not control lock waiting itself, only when the cycle check runs.
Aborts any statement that waits longer than this many milliseconds while trying to acquire a lock. A value of zero, the default, disables the timeout entirely, the statement then waits as long as it takes.
Aborts any statement that runs longer than this many milliseconds. A value of zero, the default, disables the timeout entirely.
Terminates a session that has an open transaction but is genuinely idle (no query in flight) for longer than this many milliseconds. A value of zero, the default, disables it.
Multiple of "work_mem" to use for hash tables.
Sets the maximum memory to be used for maintenance operations.
Sets the maximum number of temporary buffers used by each session.
Sets the number of disk-page buffers in shared memory for WAL.
Sets the default statistics target.
Sets the planner's assumption about the total size of the data caches.
Number of simultaneous requests that can be handled efficiently by the disk subsystem.
Allow JIT compilation.
Sets the planner's estimate of the cost of a nonsequentially fetched disk page.
Sets the planner's estimate of the cost of a sequentially fetched disk page.
Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval.
Sets the maximum time between automatic WAL checkpoints.
Writes full pages to WAL when first modified after a checkpoint.
Sets the WAL size that triggers a checkpoint.
Sets the minimum size to shrink the WAL to.
Sets the current transaction's synchronization level.
Compresses full-page writes written in WAL file with specified method.
Sets the level of information written to the WAL.
Starts the autovacuum subprocess.
Age at which to autovacuum a table to prevent transaction ID wraparound.
Time to sleep between autovacuum runs.
Vacuum cost amount available before napping, for autovacuum.
Number of tuple updates or deletes prior to vacuum as a fraction of reltuples.
Sets the maximum number of locks per transaction.
Sets the maximum number of concurrent connections.
Allows feedback from a hot standby to the primary that will avoid query conflicts.
Sets the maximum number of simultaneously running WAL sender processes.
Sets the size of WAL files held for standby servers.
Logs long lock waits.
Sets the minimum execution time above which all statements will be logged.