<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.81 2001/09/20 14:20:27 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.82 2001/09/21 03:32:35 tgl Exp $
-->
<Chapter Id="runtime">
<para>
<variablelist>
+ <varlistentry>
+ <term><varname>COLLECT_STARTCOLLECTOR</varname> (<type>boolean</type>)</term>
+ <listitem>
+ <para>
+ Controls whether the postmaster should start the statistics-collection
+ subprocess. This is on by default, but may be turned off if you
+ know you have no interest in collecting statistics. This option
+ can only be set at postmaster start.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>COLLECT_RESETONPMSTART</varname> (<type>boolean</type>)</term>
+ <listitem>
+ <para>
+ If on, collected statistics are zeroed out whenever the postmaster
+ is restarted. If off, statistics are accumulated across postmaster
+ restarts. The default is on. This option
+ can only be set at postmaster start.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>COLLECT_QUERYSTRING</varname> (<type>boolean</type>)</term>
+ <term><varname>COLLECT_BLOCKLEVEL</varname> (<type>boolean</type>)</term>
+ <term><varname>COLLECT_TUPLELEVEL</varname> (<type>boolean</type>)</term>
+ <listitem>
+ <para>
+ These flags determine what information backends send to the statistics
+ collector process: current queries, block-level activity statistics,
+ or tuple-level activity statistics. All default to off. Enabling
+ statistics collection costs a small amount of time per query, but
+ is invaluable for debugging and performance tuning.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>DEBUG_ASSERTIONS</varname> (<type>boolean</type>)</term>
<listitem>
<primary>transaction isolation level</primary>
</indexterm>
- <term><varname>DEFAUL_TRANSACTION_ISOLATION</varname> (<type>string</type>)</term>
+ <term><varname>DEFAULT_TRANSACTION_ISOLATION</varname> (<type>string</type>)</term>
<listitem>
<para>
Each SQL transaction has an isolation level, which can be
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>PASSWORD_ENCRYPTION</varname> (<type>boolean</type>)</term>
+ <listitem>
+ <para>
+ When a password is specified in <command>CREATE USER</> or
+ <command>ALTER USER</> without writing either ENCRYPTED or
+ UNENCRYPTED, this flag determines whether the password is encrypted.
+ The default is off (do not encrypt the password), but this choice
+ may change in a future release.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>TRANSFORM_NULL_EQUALS</varname> (<type>boolean</type>)</term>
<listitem>
<listitem>
<para>
Specifies the amount of memory to be used by internal sorts
- and hashes before resorting to temporary disk files. The value
+ and hashes before switching to temporary disk files. The value
is specified in kilobytes, and defaults to 512 kilobytes. Note
that for a complex query, several sorts and/or hashes might be
running in parallel, and each one will be allowed to use as
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>VACUUM_MEM</varname> (<type>integer</type>)</term>
+ <listitem>
+ <para>
+ Specifies the maximum amount of memory to be used by
+ <command>VACUUM</command> to keep track of to-be-reclaimed tuples.
+ The value is specified in kilobytes, and defaults to 8192 kilobytes.
+ Larger settings may improve the speed of vacuuming large tables
+ that have many deleted tuples.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>VIRTUAL_HOST</varname> (<type>string</type>)</term>
<listitem>
* relations with finite memory space usage. To do that, we set upper bounds
* on the number of tuples and pages we will keep track of at once.
*
- * We are willing to use at most SortMem memory space to keep track of
+ * We are willing to use at most VacuumMem memory space to keep track of
* dead tuples. We initially allocate an array of TIDs of that size.
* If the array threatens to overflow, we suspend the heap scan phase
* and perform a pass of index cleanup and page compaction, then resume
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/vacuumlazy.c,v 1.6 2001/09/04 19:12:05 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/vacuumlazy.c,v 1.7 2001/09/21 03:32:35 tgl Exp $
*
*-------------------------------------------------------------------------
*/
* lazy_space_alloc - space allocation decisions for lazy vacuum
*
* See the comments at the head of this file for rationale.
- *
- * XXX Should we have our own GUC parameter, instead of using SortMem?
*/
static void
lazy_space_alloc(LVRelStats *vacrelstats, BlockNumber relblocks)
int maxtuples;
int maxpages;
- maxtuples = (int) ((SortMem * 1024L) / sizeof(ItemPointerData));
- /* stay sane if small SortMem */
+ maxtuples = (int) ((VacuumMem * 1024L) / sizeof(ItemPointerData));
+ /* stay sane if small VacuumMem */
if (maxtuples < MAX_TUPLES_PER_PAGE)
maxtuples = MAX_TUPLES_PER_PAGE;
{
/*
* The array shouldn't overflow under normal behavior,
- * but perhaps it could if we are given a really small SortMem.
+ * but perhaps it could if we are given a really small VacuumMem.
* In that case, just forget the last few tuples.
*/
if (vacrelstats->num_dead_tuples < vacrelstats->max_dead_tuples)
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.59 2001/08/25 18:52:42 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.60 2001/09/21 03:32:35 tgl Exp $
*
* NOTES
* Globals used all over the place should be declared here and not
bool enableFsync = true;
bool allowSystemTableMods = false;
int SortMem = 512;
+int VacuumMem = 8192;
int NBuffers = DEF_NBUFFERS;
* Support for grand unified configuration scheme, including SET
* command, configuration file, and command line options.
*
- * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.49 2001/09/20 14:20:27 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.50 2001/09/21 03:32:35 tgl Exp $
*
* Copyright 2000 by PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* 4. Add a record below.
*
- * 5. Add it to postgresql.conf.sample
+ * 5. Add it to src/backend/utils/misc/postgresql.conf.sample.
*
- * 6. Don't forget to document that option.
- *
- * WHEN MAKING MODIFICATIONS, remember to update postgresql.conf.sample
+ * 6. Add it to src/bin/psql/tab-complete.c, if it's a USERSET option.
*
+ * 7. Don't forget to document the option.
*/
{"sort_mem", PGC_USERSET, &SortMem,
512, 4*BLCKSZ/1024, INT_MAX, NULL, NULL},
+ {"vacuum_mem", PGC_USERSET, &VacuumMem,
+ 8192, 1024, INT_MAX, NULL, NULL},
+
{"debug_level", PGC_USERSET, &DebugLvl,
0, 0, 16, NULL, NULL},
#
# Performance
#
-#sort_mem = 512
+#sort_mem = 512 # min 32
+#vacuum_mem = 8192 # min 1024
#fsync = true
#
# Misc
#
+#dynamic_library_path = '$libdir'
#australian_timezones = false
#deadlock_timeout = 1000
#default_transaction_isolation = 'read committed'
#max_expr_depth = 10000 # min 10
#password_encryption = false
#sql_inheritance = true
-
+#transform_null_equals = false
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.37 2001/09/07 01:24:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.38 2001/09/21 03:32:36 tgl Exp $
*/
/*----------------------------------------------------------------------
"enable_nestloop",
"enable_mergejoin",
"enable_hashjoin",
- "geqo",
"ksqo",
+ "geqo",
"fsync",
"debug_assertions",
"debug_print_query",
"show_query_stats",
"trace_notify",
"sql_inheritance",
+ "australian_timezones",
+ "password_encryption",
+ "transform_null_equals",
"geqo_threshold",
"geqo_pool_size",
"geqo_generations",
"geqo_random_seed",
"sort_mem",
+ "vacuum_mem",
"debug_level",
"max_expr_depth",
"commit_delay",
"cpu_index_tuple_cost",
"cpu_operator_cost",
"geqo_selection_bias",
+
+ "default_transaction_isolation",
+
NULL
};
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: miscadmin.h,v 1.90 2001/09/08 15:24:00 petere Exp $
+ * $Id: miscadmin.h,v 1.91 2001/09/21 03:32:36 tgl Exp $
*
* NOTES
* some of the information in this file should be moved to
extern bool enableFsync;
extern bool allowSystemTableMods;
extern int SortMem;
+extern int VacuumMem;
/*
* A few postmaster startup options are exported here so the