Add unchangeable GUC "variables" segment_size, wal_block_size, and
wal_segment_size to make those configuration parameters available to clients, in the same way that block_size was previously exposed. Bernd Helmle, with comments from Abhijit Menon-Sen and some further tweaking by me.
This commit is contained in:
parent
eaf1b5d348
commit
7a97abe818
|
@ -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">
|
<chapter Id="runtime-config">
|
||||||
<title>Server Configuration</title>
|
<title>Server Configuration</title>
|
||||||
|
@ -4865,6 +4865,22 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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">
|
<varlistentry id="guc-server-encoding" xreflabel="server_encoding">
|
||||||
<term><varname>server_encoding</varname> (<type>string</type>)</term>
|
<term><varname>server_encoding</varname> (<type>string</type>)</term>
|
||||||
<indexterm>
|
<indexterm>
|
||||||
|
@ -4907,6 +4923,36 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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>
|
</variablelist>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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_index_keys;
|
||||||
static int max_identifier_length;
|
static int max_identifier_length;
|
||||||
static int block_size;
|
static int block_size;
|
||||||
|
static int segment_size;
|
||||||
|
static int wal_block_size;
|
||||||
|
static int wal_segment_size;
|
||||||
static bool integer_datetimes;
|
static bool integer_datetimes;
|
||||||
|
|
||||||
/* should be static, but commands/variable.c needs to get at these */
|
/* should be static, but commands/variable.c needs to get at these */
|
||||||
|
@ -1753,6 +1756,39 @@ static struct config_int ConfigureNamesInt[] =
|
||||||
BLCKSZ, BLCKSZ, BLCKSZ, NULL, NULL
|
BLCKSZ, BLCKSZ, BLCKSZ, NULL, NULL
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
{"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,
|
{"autovacuum_naptime", PGC_SIGHUP, AUTOVACUUM,
|
||||||
gettext_noop("Time to sleep between autovacuum runs."),
|
gettext_noop("Time to sleep between autovacuum runs."),
|
||||||
|
|
Loading…
Reference in New Issue