diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-04 21:51:22 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-04 21:51:22 +0000 |
| commit | 391eb5e5b6a78fce5179808379cdae20baedd9c3 (patch) | |
| tree | 754cb44f71f1f7f00c898ef93dcfa0262148c7e7 /doc/src | |
| 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 'doc/src')
| -rw-r--r-- | doc/src/sgml/runtime.sgml | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index b023940dc3d..86d5ddc2852 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.169 2003/02/19 04:06:28 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.170 2003/03/04 21:51:19 tgl Exp $ --> <Chapter Id="runtime"> @@ -1725,7 +1725,9 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir' <listitem> <para> Sets the maximum number of disk pages for which free space will - be tracked in the shared free-space map. The default is 10000. + be tracked in the shared free-space map. Six bytes of shared memory + are consumed for each page slot. This setting must be more than + 16 * <varname>max_fsm_relations</varname>. The default is 20000. This option can only be set at server start. </para> </listitem> @@ -1735,9 +1737,11 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir' <term><varname>MAX_FSM_RELATIONS</varname> (<type>integer</type>)</term> <listitem> <para> - Sets the maximum number of relations (tables) for which free - space will be tracked in the shared free-space map. The default - is 1000. This option can only be set at server start. + Sets the maximum number of relations (tables and indexes) for which + free space will be tracked in the shared free-space map. Roughly + fifty bytes of shared memory are consumed for each slot. + The default is 1000. + This option can only be set at server start. </para> </listitem> </varlistentry> |
