diff options
| author | Tom Lane | 2003-03-04 21:51:22 +0000 |
|---|---|---|
| committer | Tom Lane | 2003-03-04 21:51:22 +0000 |
| commit | 391eb5e5b6a78fce5179808379cdae20baedd9c3 (patch) | |
| tree | 754cb44f71f1f7f00c898ef93dcfa0262148c7e7 /src/backend/utils/misc | |
| parent | a455c942574f2d6414d49893fe8ee2779c636acb (diff) | |
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().
Diffstat (limited to 'src/backend/utils/misc')
| -rw-r--r-- | src/backend/utils/misc/guc.c | 6 | ||||
| -rw-r--r-- | src/backend/utils/misc/postgresql.conf.sample | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 2582843829c..37e1192b6d0 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -5,7 +5,7 @@ * command, configuration file, and command line options. * See src/backend/utils/misc/README for more information. * - * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.115 2003/02/23 23:27:21 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.116 2003/03/04 21:51:21 tgl Exp $ * * Copyright 2000 by PostgreSQL Global Development Group * Written by Peter Eisentraut <[email protected]>. @@ -644,11 +644,11 @@ static struct config_int { {"max_fsm_relations", PGC_POSTMASTER}, &MaxFSMRelations, - 1000, 10, INT_MAX, NULL, NULL + 1000, 100, INT_MAX, NULL, NULL }, { {"max_fsm_pages", PGC_POSTMASTER}, &MaxFSMPages, - 10000, 1000, INT_MAX, NULL, NULL + 20000, 1000, INT_MAX, NULL, NULL }, { diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index f40c2a00355..40b143c7cab 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -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 |
