We (mostly Bruce, Tom, Peter, and I) have been having a discussion on
the PATCHES list regarding some new functionality related to read-only
GUC variables. The net result is pasted at the bottom of this post. Here
is a link to the discussion:
http://archives.postgresql.org/pgsql-patches/2003-11/msg00363.php
In short, 5 new read-only GUC variables are created allowing the value
of certain compile-time settings to be queried. Also the pg_settings
system view has been expanded to include category, short_desc, and
extra_desc (corresponding to group, short_desc, and long_desc in the
generic guc structure). The 5 GUC variables are:
block_size - int Shows size of a disk block
integer_datetimes - bool Datetimes are integer based
max_function_args - int Shows the maximum number of function arguments
max_identifier_length - int Shows the maximum identifier length
max_index_keys - int Shows the maximum number of index keys
The main open question at this point is the name for the "block_size"
variable. Peter favors "block_size", Bruce favors "page_size", Tom
hasn't taken a position on that specific issue. Does anyone have and
opinion on the variable name, or any general comments before I commit this?
Thanks,
Joe
regression=# select * from pg_settings where category like 'Compile%';
-[ RECORD 1 ]----------------------------------------------
name | block_size
setting | 8192
category | Compiled-in Options
short_desc | Shows size of a disk block
extra_desc |
context | internal
vartype | integer
source | default
min_val | 8192
max_val | 8192
-[ RECORD 2 ]----------------------------------------------
name | integer_datetimes
setting | on
category | Compiled-in Options
short_desc | Datetimes are integer based
extra_desc |
context | internal
vartype | bool
source | default
min_val |
max_val |
-[ RECORD 3 ]----------------------------------------------
name | max_function_args
setting | 32
category | Compiled-in Options
short_desc | Shows the maximum number of function arguments
extra_desc |
context | internal
vartype | integer
source | default
min_val | 32
max_val | 32
-[ RECORD 4 ]----------------------------------------------
name | max_identifier_length
setting | 63
category | Compiled-in Options
short_desc | Shows the maximum identifier length
extra_desc |
context | internal
vartype | integer
source | default
min_val | 63
max_val | 63
-[ RECORD 5 ]----------------------------------------------
name | max_index_keys
setting | 32
category | Compiled-in Options
short_desc | Shows the maximum number of index keys
extra_desc |
context | internal
vartype | integer
source | default
min_val | 32
max_val | 32