mirror of
https://github.com/postgres/postgres.git
synced 2025-07-17 06:41:09 +03:00
Reimplement free-space-map management as per recent discussions.
Adjustable threshold is gone in favor of keeping track of total requested page storage and doling out proportional fractions to each relation (with a minimum amount per relation, and some quantization of the results to avoid thrashing with small changes in page counts). Provide special- case code for indexes so as not to waste space storing useless page free space counts. Restructure internal data storage to be a flat array instead of list-of-chunks; this may cost a little more work in data copying when reorganizing, but allows binary search to be used during lookup_fsm_page_entry().
This commit is contained in:
@ -48,10 +48,11 @@
|
||||
# Shared Memory Size
|
||||
#
|
||||
#shared_buffers = 64 # min max_connections*2 or 16, 8KB each
|
||||
#max_fsm_relations = 1000 # min 10, fsm is free space map, ~40 bytes
|
||||
#max_fsm_pages = 10000 # min 1000, fsm is free space map, ~6 bytes
|
||||
#max_locks_per_transaction = 64 # min 10
|
||||
#wal_buffers = 8 # min 4, typically 8KB each
|
||||
# fsm = free space map
|
||||
#max_fsm_relations = 1000 # min 100, ~50 bytes each
|
||||
#max_fsm_pages = 20000 # min max_fsm_relations*16, 6 bytes each
|
||||
|
||||
#
|
||||
# Non-shared Memory Sizes
|
||||
|
Reference in New Issue
Block a user