aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/config.sgml50
-rw-r--r--src/backend/utils/misc/guc.c38
2 files changed, 85 insertions, 3 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 6a0f039e719..d212d084d8c 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.182 2008/07/01 21:49:04 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.183 2008/07/10 22:08:17 tgl Exp $ -->
<chapter Id="runtime-config">
<title>Server Configuration</title>
@@ -4865,6 +4865,22 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</listitem>
</varlistentry>
+ <varlistentry id="guc-segment-size" xreflabel="segment_size">
+ <term><varname>segment_size</varname> (<type>integer</type>)</term>
+ <indexterm>
+ <primary><varname>segment_size</> configuration parameter</primary>
+ </indexterm>
+ <listitem>
+ <para>
+ Reports the number of blocks (pages) that can be stored within a file
+ segment. It is determined by the value of <literal>RELSEG_SIZE</>
+ when building the server. The maximum size of a segment file in bytes
+ is equal to <varname>segment_size</> multiplied by
+ <varname>block_size</>; by default this is 1GB.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry id="guc-server-encoding" xreflabel="server_encoding">
<term><varname>server_encoding</varname> (<type>string</type>)</term>
<indexterm>
@@ -4901,12 +4917,42 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</indexterm>
<listitem>
<para>
- Reports the version number of the server as an integer. It is determined
+ Reports the version number of the server as an integer. It is determined
by the value of <literal>PG_VERSION_NUM</> when building the server.
</para>
</listitem>
</varlistentry>
+ <varlistentry id="guc-wal-block-size" xreflabel="wal_block_size">
+ <term><varname>wal_block_size</varname> (<type>integer</type>)</term>
+ <indexterm>
+ <primary><varname>wal_block_size</> configuration parameter</primary>
+ </indexterm>
+ <listitem>
+ <para>
+ Reports the size of a WAL disk block. It is determined by the value
+ of <literal>XLOG_BLCKSZ</> when building the server. The default value
+ is 8192 bytes.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="guc-wal-segment-size" xreflabel="wal_segment_size">
+ <term><varname>wal_segment_size</varname> (<type>integer</type>)</term>
+ <indexterm>
+ <primary><varname>wal_segment_size</> configuration parameter</primary>
+ </indexterm>
+ <listitem>
+ <para>
+ Reports the number of blocks (pages) in a WAL segment file.
+ The total size of a WAL segment file in bytes is equal to
+ <varname>wal_segment_size</> multiplied by <varname>wal_block_size</>;
+ by default this is 16MB. See <xref linkend="wal-configuration"> for
+ more information.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</sect1>
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index ddf9d424024..8b072895b1e 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.463 2008/07/08 02:07:29 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.464 2008/07/10 22:08:17 tgl Exp $
*
*--------------------------------------------------------------------
*/
@@ -377,6 +377,9 @@ static int max_function_args;
static int max_index_keys;
static int max_identifier_length;
static int block_size;
+static int segment_size;
+static int wal_block_size;
+static int wal_segment_size;
static bool integer_datetimes;
/* should be static, but commands/variable.c needs to get at these */
@@ -1754,6 +1757,39 @@ static struct config_int ConfigureNamesInt[] =
},
{
+ {"segment_size", PGC_INTERNAL, PRESET_OPTIONS,
+ gettext_noop("Shows the number of pages per disk file."),
+ NULL,
+ GUC_UNIT_BLOCKS | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+ },
+ &segment_size,
+ RELSEG_SIZE, RELSEG_SIZE, RELSEG_SIZE, NULL, NULL
+ },
+
+ {
+ {"wal_block_size", PGC_INTERNAL, PRESET_OPTIONS,
+ gettext_noop("Shows the block size in the write ahead log."),
+ NULL,
+ GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+ },
+ &wal_block_size,
+ XLOG_BLCKSZ, XLOG_BLCKSZ, XLOG_BLCKSZ, NULL, NULL
+ },
+
+ {
+ {"wal_segment_size", PGC_INTERNAL, PRESET_OPTIONS,
+ gettext_noop("Shows the number of pages per write ahead log segment."),
+ NULL,
+ GUC_UNIT_XBLOCKS | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+ },
+ &wal_segment_size,
+ (XLOG_SEG_SIZE / XLOG_BLCKSZ),
+ (XLOG_SEG_SIZE / XLOG_BLCKSZ),
+ (XLOG_SEG_SIZE / XLOG_BLCKSZ),
+ NULL, NULL
+ },
+
+ {
{"autovacuum_naptime", PGC_SIGHUP, AUTOVACUUM,
gettext_noop("Time to sleep between autovacuum runs."),
NULL,