Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7a97abe

Browse files
committed
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, withcomments from Abhijit Menon-Sen and some further tweaking by me.
1 parenteaf1b5d commit7a97abe

File tree

2 files changed

+85
-3
lines changed

2 files changed

+85
-3
lines changed

‎doc/src/sgml/config.sgml

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.182 2008/07/01 21:49:04 momjian Exp $ -->
1+
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.183 2008/07/10 22:08:17 tgl Exp $ -->
22

33
<chapter Id="runtime-config">
44
<title>Server Configuration</title>
@@ -4865,6 +4865,22 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
48654865
</listitem>
48664866
</varlistentry>
48674867

4868+
<varlistentry id="guc-segment-size" xreflabel="segment_size">
4869+
<term><varname>segment_size</varname> (<type>integer</type>)</term>
4870+
<indexterm>
4871+
<primary><varname>segment_size</> configuration parameter</primary>
4872+
</indexterm>
4873+
<listitem>
4874+
<para>
4875+
Reports the number of blocks (pages) that can be stored within a file
4876+
segment. It is determined by the value of <literal>RELSEG_SIZE</>
4877+
when building the server. The maximum size of a segment file in bytes
4878+
is equal to <varname>segment_size</> multiplied by
4879+
<varname>block_size</>; by default this is 1GB.
4880+
</para>
4881+
</listitem>
4882+
</varlistentry>
4883+
48684884
<varlistentry id="guc-server-encoding" xreflabel="server_encoding">
48694885
<term><varname>server_encoding</varname> (<type>string</type>)</term>
48704886
<indexterm>
@@ -4901,12 +4917,42 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
49014917
</indexterm>
49024918
<listitem>
49034919
<para>
4904-
Reports the version number of the server as an integer. It is determined
4920+
Reports the version number of the server as an integer. It is determined
49054921
by the value of <literal>PG_VERSION_NUM</> when building the server.
49064922
</para>
49074923
</listitem>
49084924
</varlistentry>
49094925

4926+
<varlistentry id="guc-wal-block-size" xreflabel="wal_block_size">
4927+
<term><varname>wal_block_size</varname> (<type>integer</type>)</term>
4928+
<indexterm>
4929+
<primary><varname>wal_block_size</> configuration parameter</primary>
4930+
</indexterm>
4931+
<listitem>
4932+
<para>
4933+
Reports the size of a WAL disk block. It is determined by the value
4934+
of <literal>XLOG_BLCKSZ</> when building the server. The default value
4935+
is 8192 bytes.
4936+
</para>
4937+
</listitem>
4938+
</varlistentry>
4939+
4940+
<varlistentry id="guc-wal-segment-size" xreflabel="wal_segment_size">
4941+
<term><varname>wal_segment_size</varname> (<type>integer</type>)</term>
4942+
<indexterm>
4943+
<primary><varname>wal_segment_size</> configuration parameter</primary>
4944+
</indexterm>
4945+
<listitem>
4946+
<para>
4947+
Reports the number of blocks (pages) in a WAL segment file.
4948+
The total size of a WAL segment file in bytes is equal to
4949+
<varname>wal_segment_size</> multiplied by <varname>wal_block_size</>;
4950+
by default this is 16MB. See <xref linkend="wal-configuration"> for
4951+
more information.
4952+
</para>
4953+
</listitem>
4954+
</varlistentry>
4955+
49104956
</variablelist>
49114957
</sect1>
49124958

‎src/backend/utils/misc/guc.c

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Written by Peter Eisentraut <peter_e@gmx.net>.
1111
*
1212
* IDENTIFICATION
13-
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.463 2008/07/08 02:07:29 momjian Exp $
13+
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.464 2008/07/10 22:08:17 tgl Exp $
1414
*
1515
*--------------------------------------------------------------------
1616
*/
@@ -377,6 +377,9 @@ static intmax_function_args;
377377
staticintmax_index_keys;
378378
staticintmax_identifier_length;
379379
staticintblock_size;
380+
staticintsegment_size;
381+
staticintwal_block_size;
382+
staticintwal_segment_size;
380383
staticboolinteger_datetimes;
381384

382385
/* should be static, but commands/variable.c needs to get at these */
@@ -1753,6 +1756,39 @@ static struct config_int ConfigureNamesInt[] =
17531756
BLCKSZ,BLCKSZ,BLCKSZ,NULL,NULL
17541757
},
17551758

1759+
{
1760+
{"segment_size",PGC_INTERNAL,PRESET_OPTIONS,
1761+
gettext_noop("Shows the number of pages per disk file."),
1762+
NULL,
1763+
GUC_UNIT_BLOCKS |GUC_NOT_IN_SAMPLE |GUC_DISALLOW_IN_FILE
1764+
},
1765+
&segment_size,
1766+
RELSEG_SIZE,RELSEG_SIZE,RELSEG_SIZE,NULL,NULL
1767+
},
1768+
1769+
{
1770+
{"wal_block_size",PGC_INTERNAL,PRESET_OPTIONS,
1771+
gettext_noop("Shows the block size in the write ahead log."),
1772+
NULL,
1773+
GUC_NOT_IN_SAMPLE |GUC_DISALLOW_IN_FILE
1774+
},
1775+
&wal_block_size,
1776+
XLOG_BLCKSZ,XLOG_BLCKSZ,XLOG_BLCKSZ,NULL,NULL
1777+
},
1778+
1779+
{
1780+
{"wal_segment_size",PGC_INTERNAL,PRESET_OPTIONS,
1781+
gettext_noop("Shows the number of pages per write ahead log segment."),
1782+
NULL,
1783+
GUC_UNIT_XBLOCKS |GUC_NOT_IN_SAMPLE |GUC_DISALLOW_IN_FILE
1784+
},
1785+
&wal_segment_size,
1786+
(XLOG_SEG_SIZE /XLOG_BLCKSZ),
1787+
(XLOG_SEG_SIZE /XLOG_BLCKSZ),
1788+
(XLOG_SEG_SIZE /XLOG_BLCKSZ),
1789+
NULL,NULL
1790+
},
1791+
17561792
{
17571793
{"autovacuum_naptime",PGC_SIGHUP,AUTOVACUUM,
17581794
gettext_noop("Time to sleep between autovacuum runs."),

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp