diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 6a0f039e71..d212d084d8 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1,4 +1,4 @@ - + Server Configuration @@ -4865,6 +4865,22 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' + + segment_size (integer) + + segment_size configuration parameter + + + + Reports the number of blocks (pages) that can be stored within a file + segment. It is determined by the value of RELSEG_SIZE + when building the server. The maximum size of a segment file in bytes + is equal to segment_size multiplied by + block_size; by default this is 1GB. + + + + server_encoding (string) @@ -4901,12 +4917,42 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' - 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 PG_VERSION_NUM when building the server. + + wal_block_size (integer) + + wal_block_size configuration parameter + + + + Reports the size of a WAL disk block. It is determined by the value + of XLOG_BLCKSZ when building the server. The default value + is 8192 bytes. + + + + + + wal_segment_size (integer) + + wal_segment_size configuration parameter + + + + Reports the number of blocks (pages) in a WAL segment file. + The total size of a WAL segment file in bytes is equal to + wal_segment_size multiplied by wal_block_size; + by default this is 16MB. See for + more information. + + + + diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index ddf9d42402..8b072895b1 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut . * * 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 */ @@ -1753,6 +1756,39 @@ static struct config_int ConfigureNamesInt[] = 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, gettext_noop("Time to sleep between autovacuum runs."),