# Resource Usage

> Complete dossiers for 51 core PostgreSQL settings in Resource Usage.
---

Dossier URLs remain flat; this category exists only to organize browsing and the sidebar.

---

Section pages:

- [autovacuum_work_mem](/parameters/autovacuum-work-mem/): The memory ceiling for each autovacuum worker, with -1 meaning that the worker inherits maintenance_work_mem.
- [backend_flush_after](/parameters/backend-flush-after/): backend_flush_after — Number of pages after which previously performed writes are flushed to disk. Observed in PG9.6–19 Beta 3; its last measured boot default is 0 B (0 × 8kB) in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [bgwriter_delay](/parameters/bgwriter-delay/): bgwriter_delay — Background writer sleep time between rounds. Observed in PG9.0–19 Beta 3; its last measured boot default is 200 ms in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [bgwriter_flush_after](/parameters/bgwriter-flush-after/): bgwriter_flush_after — Number of pages after which previously performed writes are flushed to disk. Observed in PG9.6–19 Beta 3; its last measured boot default is 512 KiB (64 × 8kB) in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [bgwriter_lru_maxpages](/parameters/bgwriter-lru-maxpages/): bgwriter_lru_maxpages — Background writer maximum number of LRU pages to flush per round. Observed in PG9.0–19 Beta 3; its last measured boot default is 100 in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [bgwriter_lru_multiplier](/parameters/bgwriter-lru-multiplier/): bgwriter_lru_multiplier — Multiple of the average buffer usage to free per round. Observed in PG9.0–19 Beta 3; its last measured boot default is 2 in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [commit_timestamp_buffers](/parameters/commit-timestamp-buffers/): commit_timestamp_buffers — Sets the size of the dedicated buffer pool used for the commit timestamp cache. Observed in PG17–19 Beta 3; its last measured boot default is 0 B (0 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [dynamic_shared_memory_type](/parameters/dynamic-shared-memory-type/): dynamic_shared_memory_type — Selects the dynamic shared memory implementation used. Observed in PG9.4–19 Beta 3; its last measured boot default is posix in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [effective_io_concurrency](/parameters/effective-io-concurrency/): Tells PostgreSQL how many storage I/O operations one session should expect to issue concurrently. It shapes asynchronous reads and, on supported systems, prefetch distance; it is not a global I/O limit.
- [file_copy_method](/parameters/file-copy-method/): file_copy_method — Selects the file copy method. Observed in PG18–19 Beta 3; its last measured boot default is copy in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [file_extend_method](/parameters/file-extend-method/): file_extend_method — Selects the method used for extending data files. Observed in PG16–19 Beta 3; its last measured boot default is posix_fallocate in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [hash_mem_multiplier](/parameters/hash-mem-multiplier/): The multiplier that lets hash-based executor operations use a larger memory budget than the work_mem base.
- [huge_page_size](/parameters/huge-page-size/): huge_page_size — The size of huge page that should be requested. Observed in PG14–19 Beta 3; its last measured boot default is 0 B in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [huge_pages](/parameters/huge-pages/): Controls explicit huge-page use for PostgreSQL's main shared-memory area on supported operating systems.
- [io_combine_limit](/parameters/io-combine-limit/): io_combine_limit — Limit on the size of data reads and writes. Observed in PG17–19 Beta 3; its last measured boot default is 128 KiB (16 × 8kB) in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_max_combine_limit](/parameters/io-max-combine-limit/): io_max_combine_limit — Server-wide limit that clamps io_combine_limit. Observed in PG18–19 Beta 3; its last measured boot default is 128 KiB (16 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_max_concurrency](/parameters/io-max-concurrency/): io_max_concurrency — Max number of IOs that one process can execute simultaneously. Observed in PG18–19 Beta 3; its last measured boot default is -1 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_max_workers](/parameters/io-max-workers/): io_max_workers — Maximum number of I/O worker processes, for io_method=worker. Observed in PG19 Beta 3; its last measured boot default is 8 in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_method](/parameters/io-method/): io_method — Selects the method for executing asynchronous I/O. Observed in PG18–19 Beta 3; its last measured boot default is worker in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_min_workers](/parameters/io-min-workers/): io_min_workers — Minimum number of I/O worker processes, for io_method=worker. Observed in PG19 Beta 3; its last measured boot default is 2 in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_worker_idle_timeout](/parameters/io-worker-idle-timeout/): io_worker_idle_timeout — Maximum time before idle I/O worker processes time out, for io_method=worker. Observed in PG19 Beta 3; its last measured boot default is 1 min in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_worker_launch_interval](/parameters/io-worker-launch-interval/): io_worker_launch_interval — Minimum time before launching a new I/O worker process, for io_method=worker. Observed in PG19 Beta 3; its last measured boot default is 100 ms in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [io_workers](/parameters/io-workers/): io_workers — Number of IO worker processes, for io_method=worker. Observed in PG18; its last measured boot default is 3 in PG18, with sighup context. It was removed in PG19 Beta 3.
- [logical_decoding_work_mem](/parameters/logical-decoding-work-mem/): logical_decoding_work_mem — Sets the maximum memory to be used for logical decoding. Observed in PG13–19 Beta 3; its last measured boot default is 64 MiB in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [maintenance_io_concurrency](/parameters/maintenance-io-concurrency/): maintenance_io_concurrency — A variant of "effective_io_concurrency" that is used for maintenance work. Observed in PG13–19 Beta 3; its last measured boot default is 16 in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [maintenance_work_mem](/parameters/maintenance-work-mem/): The memory ceiling for maintenance commands such as VACUUM, CREATE INDEX, and adding foreign-key constraints.
- [max_files_per_process](/parameters/max-files-per-process/): max_files_per_process — Sets the maximum number of files each server process is allowed to open simultaneously. Observed in PG9.0–19 Beta 3; its last measured boot default is 1000 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_notify_queue_pages](/parameters/max-notify-queue-pages/): max_notify_queue_pages — Sets the maximum number of allocated pages for NOTIFY / LISTEN queue. Observed in PG17–19 Beta 3; its last measured boot default is 1048576 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_parallel_maintenance_workers](/parameters/max-parallel-maintenance-workers/): max_parallel_maintenance_workers — Sets the maximum number of parallel processes per maintenance operation. Observed in PG11–19 Beta 3; its last measured boot default is 2 in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_parallel_workers](/parameters/max-parallel-workers/): max_parallel_workers — Sets the maximum number of parallel workers that can be active at one time. Observed in PG10–19 Beta 3; its last measured boot default is 8 in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_parallel_workers_per_gather](/parameters/max-parallel-workers-per-gather/): max_parallel_workers_per_gather — Sets the maximum number of parallel processes per executor node. Observed in PG9.6–19 Beta 3; its last measured boot default is 2 in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_prepared_transactions](/parameters/max-prepared-transactions/): max_prepared_transactions — Sets the maximum number of simultaneously prepared transactions. Observed in PG9.0–19 Beta 3; its last measured boot default is 0 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_stack_depth](/parameters/max-stack-depth/): max_stack_depth — Sets the maximum stack depth, in kilobytes. Observed in PG9.0–19 Beta 3; its last measured boot default is 100 KiB in PG19 Beta 3, with superuser context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_worker_processes](/parameters/max-worker-processes/): max_worker_processes — Maximum number of concurrent worker processes. Observed in PG9.4–19 Beta 3; its last measured boot default is 8 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [min_dynamic_shared_memory](/parameters/min-dynamic-shared-memory/): min_dynamic_shared_memory — Amount of dynamic shared memory reserved at startup. Observed in PG14–19 Beta 3; its last measured boot default is 0 B in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [multixact_member_buffers](/parameters/multixact-member-buffers/): multixact_member_buffers — Sets the size of the dedicated buffer pool used for the MultiXact member cache. Observed in PG17–19 Beta 3; its last measured boot default is 256 KiB (32 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [multixact_offset_buffers](/parameters/multixact-offset-buffers/): multixact_offset_buffers — Sets the size of the dedicated buffer pool used for the MultiXact offset cache. Observed in PG17–19 Beta 3; its last measured boot default is 128 KiB (16 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [notify_buffers](/parameters/notify-buffers/): notify_buffers — Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache. Observed in PG17–19 Beta 3; its last measured boot default is 128 KiB (16 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [old_snapshot_threshold](/parameters/old-snapshot-threshold/): old_snapshot_threshold — Time before a snapshot is too old to read pages changed after the snapshot was taken. Observed in PG9.6–16; its last measured boot default is -1 min in PG16, with postmaster context. It was removed in PG17.
- [parallel_leader_participation](/parameters/parallel-leader-participation/): parallel_leader_participation — Controls whether Gather and Gather Merge also run subplans. Observed in PG11–19 Beta 3; its last measured boot default is on in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [replacement_sort_tuples](/parameters/replacement-sort-tuples/): replacement_sort_tuples — Sets the maximum number of tuples to be sorted using replacement selection. Observed in PG9.6–10; its last measured boot default is 150000 in PG10, with user context. It was removed in PG11.
- [serializable_buffers](/parameters/serializable-buffers/): serializable_buffers — Sets the size of the dedicated buffer pool used for the serializable transaction cache. Observed in PG17–19 Beta 3; its last measured boot default is 256 KiB (32 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [shared_buffers](/parameters/shared-buffers/): shared_buffers — Sets the number of shared memory buffers used by the server. Observed in PG9.0–19 Beta 3; its last measured boot default is 128 MiB (16384 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [shared_memory_type](/parameters/shared-memory-type/): shared_memory_type — Selects the shared memory implementation used for the main shared memory region. Observed in PG12–19 Beta 3; its last measured boot default is mmap in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [subtransaction_buffers](/parameters/subtransaction-buffers/): subtransaction_buffers — Sets the size of the dedicated buffer pool used for the subtransaction cache. Observed in PG17–19 Beta 3; its last measured boot default is 0 B (0 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [temp_buffers](/parameters/temp-buffers/): A per-session, lazily allocated buffer ceiling used only when accessing temporary tables.
- [temp_file_limit](/parameters/temp-file-limit/): A per-process safety limit on disk space consumed at one time by executor temporary files.
- [timing_clock_source](/parameters/timing-clock-source/): timing_clock_source — Controls the clock source used for collecting timing measurements. Observed in PG19 Beta 3; its last measured boot default is auto in PG19 Beta 3, with superuser context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [transaction_buffers](/parameters/transaction-buffers/): transaction_buffers — Sets the size of the dedicated buffer pool used for the transaction status cache. Observed in PG17–19 Beta 3; its last measured boot default is 0 B (0 × 8kB) in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [vacuum_buffer_usage_limit](/parameters/vacuum-buffer-usage-limit/): vacuum_buffer_usage_limit — Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum. Observed in PG16–19 Beta 3; its last measured boot default is 2 MiB in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [work_mem](/parameters/work-mem/): The per-operation memory budget that determines when sorts and other query workspaces begin spilling to temporary files.
