Cleanup on --help-config: Now called --describe-config, no further options,
machine readable, without headers, not sorted. Parameter descriptions adjusted to fit first sentence + rest convention.
This commit is contained in:
parent
e341cdb085
commit
9d77708d83
@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/main/main.c,v 1.64 2003/09/27 09:29:31 petere Exp $
|
* $Header: /cvsroot/pgsql/src/backend/main/main.c,v 1.65 2003/10/18 22:59:08 petere Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -222,12 +222,11 @@ main(int argc, char *argv[])
|
|||||||
exit(BootstrapMain(argc - 1, new_argv + 1));
|
exit(BootstrapMain(argc - 1, new_argv + 1));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the first argument is "--help-config", then invoke runtime
|
* If the first argument is "--describe-config", then invoke runtime
|
||||||
* configuration option display mode. We remove "--help-config" from
|
* configuration option display mode.
|
||||||
* the arguments passed on to GucInfoMain.
|
|
||||||
*/
|
*/
|
||||||
if (argc > 1 && strcmp(new_argv[1], "--help-config") == 0)
|
if (argc > 1 && strcmp(new_argv[1], "--describe-config") == 0)
|
||||||
exit(GucInfoMain(argc, new_argv));
|
exit(GucInfoMain());
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Otherwise we're a standalone backend. Invoke PostgresMain,
|
* Otherwise we're a standalone backend. Invoke PostgresMain,
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.373 2003/10/16 16:50:41 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.374 2003/10/18 22:59:08 petere Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
* this is the "main" module of the postgres backend and
|
* this is the "main" module of the postgres backend and
|
||||||
@ -1989,8 +1989,7 @@ usage(char *progname)
|
|||||||
printf(gettext(" -P disable system indexes\n"));
|
printf(gettext(" -P disable system indexes\n"));
|
||||||
printf(gettext(" -s show statistics after each query\n"));
|
printf(gettext(" -s show statistics after each query\n"));
|
||||||
printf(gettext(" -S SORT-MEM set amount of memory for sorts (in kbytes)\n"));
|
printf(gettext(" -S SORT-MEM set amount of memory for sorts (in kbytes)\n"));
|
||||||
printf(gettext(" --help-config show configuration parameters, then exit;\n"
|
printf(gettext(" --describe-config describe configuration parameters, then exit\n"));
|
||||||
" details: --help-config -h\n"));
|
|
||||||
printf(gettext(" --help show this help, then exit\n"));
|
printf(gettext(" --help show this help, then exit\n"));
|
||||||
printf(gettext(" --version output version information, then exit\n"));
|
printf(gettext(" --version output version information, then exit\n"));
|
||||||
printf(gettext("\nDeveloper options:\n"));
|
printf(gettext("\nDeveloper options:\n"));
|
||||||
@ -2660,7 +2659,7 @@ PostgresMain(int argc, char *argv[], const char *username)
|
|||||||
if (!IsUnderPostmaster)
|
if (!IsUnderPostmaster)
|
||||||
{
|
{
|
||||||
puts("\nPOSTGRES backend interactive interface ");
|
puts("\nPOSTGRES backend interactive interface ");
|
||||||
puts("$Revision: 1.373 $ $Date: 2003/10/16 16:50:41 $\n");
|
puts("$Revision: 1.374 $ $Date: 2003/10/18 22:59:08 $\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.163 2003/10/08 03:49:38 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.164 2003/10/18 22:59:09 petere Exp $
|
||||||
*
|
*
|
||||||
*--------------------------------------------------------------------
|
*--------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -350,7 +350,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
{
|
{
|
||||||
{
|
{
|
||||||
{"enable_seqscan", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_seqscan", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of sequential-scan plans"),
|
gettext_noop("Enables the planner's use of sequential-scan plans."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_seqscan,
|
&enable_seqscan,
|
||||||
@ -358,7 +358,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"enable_indexscan", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_indexscan", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of index-scan plans"),
|
gettext_noop("Enables the planner's use of index-scan plans."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_indexscan,
|
&enable_indexscan,
|
||||||
@ -366,7 +366,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"enable_tidscan", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_tidscan", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of TID scan plans"),
|
gettext_noop("Enables the planner's use of TID scan plans."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_tidscan,
|
&enable_tidscan,
|
||||||
@ -374,7 +374,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"enable_sort", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_sort", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of explicit sort steps"),
|
gettext_noop("Enables the planner's use of explicit sort steps."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_sort,
|
&enable_sort,
|
||||||
@ -382,7 +382,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"enable_hashagg", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_hashagg", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of hashed aggregation plans"),
|
gettext_noop("Enables the planner's use of hashed aggregation plans."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_hashagg,
|
&enable_hashagg,
|
||||||
@ -390,7 +390,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"enable_nestloop", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_nestloop", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of nested-loop join plans"),
|
gettext_noop("Enables the planner's use of nested-loop join plans."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_nestloop,
|
&enable_nestloop,
|
||||||
@ -398,7 +398,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"enable_mergejoin", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_mergejoin", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of merge join plans"),
|
gettext_noop("Enables the planner's use of merge join plans."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_mergejoin,
|
&enable_mergejoin,
|
||||||
@ -406,7 +406,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"enable_hashjoin", PGC_USERSET, QUERY_TUNING_METHOD,
|
{"enable_hashjoin", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||||
gettext_noop("enable planner's use of hash join plans"),
|
gettext_noop("Enables the planner's use of hash join plans."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&enable_hashjoin,
|
&enable_hashjoin,
|
||||||
@ -414,9 +414,9 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"geqo", PGC_USERSET, QUERY_TUNING_GEQO,
|
{"geqo", PGC_USERSET, QUERY_TUNING_GEQO,
|
||||||
gettext_noop("enable genetic query optimization"),
|
gettext_noop("Enables genetic query optimization."),
|
||||||
gettext_noop("This algorithm attempts to do planning without "
|
gettext_noop("This algorithm attempts to do planning without "
|
||||||
"exhaustive searching")
|
"exhaustive searching.")
|
||||||
},
|
},
|
||||||
&enable_geqo,
|
&enable_geqo,
|
||||||
true, NULL, NULL
|
true, NULL, NULL
|
||||||
@ -424,7 +424,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
{
|
{
|
||||||
/* Not for general use --- used by SET SESSION AUTHORIZATION */
|
/* Not for general use --- used by SET SESSION AUTHORIZATION */
|
||||||
{"is_superuser", PGC_INTERNAL, UNGROUPED,
|
{"is_superuser", PGC_INTERNAL, UNGROUPED,
|
||||||
gettext_noop("shows whether the current user is a superuser"),
|
gettext_noop("Shows whether the current user is a superuser."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -433,7 +433,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"tcpip_socket", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"tcpip_socket", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("accept TCP/IP connections"),
|
gettext_noop("Makes the server accept TCP/IP connections."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&NetServer,
|
&NetServer,
|
||||||
@ -441,7 +441,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"ssl", PGC_POSTMASTER, CONN_AUTH_SECURITY,
|
{"ssl", PGC_POSTMASTER, CONN_AUTH_SECURITY,
|
||||||
gettext_noop("enable SSL connections"),
|
gettext_noop("Enables SSL connections."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&EnableSSL,
|
&EnableSSL,
|
||||||
@ -449,7 +449,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"fsync", PGC_SIGHUP, WAL_SETTINGS,
|
{"fsync", PGC_SIGHUP, WAL_SETTINGS,
|
||||||
gettext_noop("force synchronization of updates to disk"),
|
gettext_noop("Forces synchronization of updates to disk."),
|
||||||
gettext_noop("The server will use the fsync() system call in several places to make "
|
gettext_noop("The server will use the fsync() system call in several places to make "
|
||||||
"sure that updates are physically written to disk. This insures "
|
"sure that updates are physically written to disk. This insures "
|
||||||
"that a database cluster will recover to a consistent state after "
|
"that a database cluster will recover to a consistent state after "
|
||||||
@ -460,7 +460,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"zero_damaged_pages", PGC_SUSET, DEVELOPER_OPTIONS,
|
{"zero_damaged_pages", PGC_SUSET, DEVELOPER_OPTIONS,
|
||||||
gettext_noop("continue processing past damaged page headers"),
|
gettext_noop("Continues processing past damaged page headers."),
|
||||||
gettext_noop("Detection of a damaged page header normally causes PostgreSQL to "
|
gettext_noop("Detection of a damaged page header normally causes PostgreSQL to "
|
||||||
"report an error, aborting the current transaction. Setting "
|
"report an error, aborting the current transaction. Setting "
|
||||||
"zero_damaged_pages to true causes the system to instead report a "
|
"zero_damaged_pages to true causes the system to instead report a "
|
||||||
@ -473,7 +473,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"silent_mode", PGC_POSTMASTER, LOGGING_WHEN,
|
{"silent_mode", PGC_POSTMASTER, LOGGING_WHEN,
|
||||||
gettext_noop("run the server silently"),
|
gettext_noop("Runs the server silently."),
|
||||||
gettext_noop("If this parameter is set, the server will automatically run in the "
|
gettext_noop("If this parameter is set, the server will automatically run in the "
|
||||||
"background and any controlling terminals are dissociated.")
|
"background and any controlling terminals are dissociated.")
|
||||||
},
|
},
|
||||||
@ -482,7 +482,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_connections", PGC_BACKEND, LOGGING_WHAT,
|
{"log_connections", PGC_BACKEND, LOGGING_WHAT,
|
||||||
gettext_noop("log each successful connection"),
|
gettext_noop("Logs each successful connection."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Log_connections,
|
&Log_connections,
|
||||||
@ -490,7 +490,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_timestamp", PGC_SIGHUP, LOGGING_WHAT,
|
{"log_timestamp", PGC_SIGHUP, LOGGING_WHAT,
|
||||||
gettext_noop("prefix server log messages with a time stamp"),
|
gettext_noop("Prefixes server log messages with a time stamp."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Log_timestamp,
|
&Log_timestamp,
|
||||||
@ -498,7 +498,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_pid", PGC_SIGHUP, LOGGING_WHAT,
|
{"log_pid", PGC_SIGHUP, LOGGING_WHAT,
|
||||||
gettext_noop("prefix server log messages with the server PID"),
|
gettext_noop("Prefixes server log messages with the server PID."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Log_pid,
|
&Log_pid,
|
||||||
@ -508,7 +508,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
#ifdef USE_ASSERT_CHECKING
|
#ifdef USE_ASSERT_CHECKING
|
||||||
{
|
{
|
||||||
{"debug_assertions", PGC_USERSET, DEVELOPER_OPTIONS,
|
{"debug_assertions", PGC_USERSET, DEVELOPER_OPTIONS,
|
||||||
gettext_noop("turn on various assertion checks"),
|
gettext_noop("Turns on various assertion checks."),
|
||||||
gettext_noop("This is a debugging aid."),
|
gettext_noop("This is a debugging aid."),
|
||||||
GUC_NOT_IN_SAMPLE
|
GUC_NOT_IN_SAMPLE
|
||||||
},
|
},
|
||||||
@ -529,7 +529,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_statement", PGC_USERLIMIT, LOGGING_WHAT,
|
{"log_statement", PGC_USERLIMIT, LOGGING_WHAT,
|
||||||
gettext_noop("log each SQL statement"),
|
gettext_noop("Logs each SQL statement."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&log_statement,
|
&log_statement,
|
||||||
@ -537,7 +537,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_duration", PGC_USERLIMIT, LOGGING_WHAT,
|
{"log_duration", PGC_USERLIMIT, LOGGING_WHAT,
|
||||||
gettext_noop("log duration each completed SQL statement"),
|
gettext_noop("Logs the duration each completed SQL statement."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&log_duration,
|
&log_duration,
|
||||||
@ -545,7 +545,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"debug_print_parse", PGC_USERSET, LOGGING_WHAT,
|
{"debug_print_parse", PGC_USERSET, LOGGING_WHAT,
|
||||||
gettext_noop("print parse tree to server logs"),
|
gettext_noop("Prints the parse tree to the server log."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Debug_print_parse,
|
&Debug_print_parse,
|
||||||
@ -553,7 +553,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"debug_print_rewritten", PGC_USERSET, LOGGING_WHAT,
|
{"debug_print_rewritten", PGC_USERSET, LOGGING_WHAT,
|
||||||
gettext_noop("print parse tree after rewriting to server log"),
|
gettext_noop("Prints the parse tree after rewriting to server log."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Debug_print_rewritten,
|
&Debug_print_rewritten,
|
||||||
@ -561,7 +561,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"debug_print_plan", PGC_USERSET, LOGGING_WHAT,
|
{"debug_print_plan", PGC_USERSET, LOGGING_WHAT,
|
||||||
gettext_noop("print execution plan to server log"),
|
gettext_noop("Prints the execution plan to server log."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Debug_print_plan,
|
&Debug_print_plan,
|
||||||
@ -569,7 +569,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"debug_pretty_print", PGC_USERSET, LOGGING_WHAT,
|
{"debug_pretty_print", PGC_USERSET, LOGGING_WHAT,
|
||||||
gettext_noop("indent parse and plan tree displays"),
|
gettext_noop("Indents parse and plan tree displays."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Debug_pretty_print,
|
&Debug_pretty_print,
|
||||||
@ -577,7 +577,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_parser_stats", PGC_USERLIMIT, STATS_MONITORING,
|
{"log_parser_stats", PGC_USERLIMIT, STATS_MONITORING,
|
||||||
gettext_noop("write parser performance statistics to server log"),
|
gettext_noop("Writes parser performance statistics to the server log."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&log_parser_stats,
|
&log_parser_stats,
|
||||||
@ -585,7 +585,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_planner_stats", PGC_USERLIMIT, STATS_MONITORING,
|
{"log_planner_stats", PGC_USERLIMIT, STATS_MONITORING,
|
||||||
gettext_noop("write planner performance statistics to server log"),
|
gettext_noop("Writes planner performance statistics to the server log."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&log_planner_stats,
|
&log_planner_stats,
|
||||||
@ -593,7 +593,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_executor_stats", PGC_USERLIMIT, STATS_MONITORING,
|
{"log_executor_stats", PGC_USERLIMIT, STATS_MONITORING,
|
||||||
gettext_noop("write executor performance statistics to server log"),
|
gettext_noop("Writes executor performance statistics to the server log."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&log_executor_stats,
|
&log_executor_stats,
|
||||||
@ -601,7 +601,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_statement_stats", PGC_USERLIMIT, STATS_MONITORING,
|
{"log_statement_stats", PGC_USERLIMIT, STATS_MONITORING,
|
||||||
gettext_noop("write cumulative performance statistics to server log"),
|
gettext_noop("Writes cumulative performance statistics to the server log."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&log_statement_stats,
|
&log_statement_stats,
|
||||||
@ -621,7 +621,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"explain_pretty_print", PGC_USERSET, CLIENT_CONN_OTHER,
|
{"explain_pretty_print", PGC_USERSET, CLIENT_CONN_OTHER,
|
||||||
gettext_noop("use indented output format for EXPLAIN VERBOSE"),
|
gettext_noop("Uses the indented output format for EXPLAIN VERBOSE."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Explain_pretty_print,
|
&Explain_pretty_print,
|
||||||
@ -629,7 +629,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"stats_start_collector", PGC_POSTMASTER, STATS_COLLECTOR,
|
{"stats_start_collector", PGC_POSTMASTER, STATS_COLLECTOR,
|
||||||
gettext_noop("start server statistics-collection subprocess"),
|
gettext_noop("Starts the server statistics-collection subprocess."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&pgstat_collect_startcollector,
|
&pgstat_collect_startcollector,
|
||||||
@ -637,7 +637,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"stats_reset_on_server_start", PGC_POSTMASTER, STATS_COLLECTOR,
|
{"stats_reset_on_server_start", PGC_POSTMASTER, STATS_COLLECTOR,
|
||||||
gettext_noop("zero collected statistics on server restart"),
|
gettext_noop("Zeroes collected statistics on server restart."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&pgstat_collect_resetonpmstart,
|
&pgstat_collect_resetonpmstart,
|
||||||
@ -645,7 +645,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"stats_command_string", PGC_SUSET, STATS_COLLECTOR,
|
{"stats_command_string", PGC_SUSET, STATS_COLLECTOR,
|
||||||
gettext_noop("collect statistics about executing commands"),
|
gettext_noop("Collects statistics about executing commands."),
|
||||||
gettext_noop("Enables the collection of statistics on the currently "
|
gettext_noop("Enables the collection of statistics on the currently "
|
||||||
"executing command of each session, along with the time "
|
"executing command of each session, along with the time "
|
||||||
"at which that command began execution.")
|
"at which that command began execution.")
|
||||||
@ -655,7 +655,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"stats_row_level", PGC_SUSET, STATS_COLLECTOR,
|
{"stats_row_level", PGC_SUSET, STATS_COLLECTOR,
|
||||||
gettext_noop("collect row-level statistics on database activity"),
|
gettext_noop("Collects row-level statistics on database activity."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&pgstat_collect_tuplelevel,
|
&pgstat_collect_tuplelevel,
|
||||||
@ -663,7 +663,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"stats_block_level", PGC_SUSET, STATS_COLLECTOR,
|
{"stats_block_level", PGC_SUSET, STATS_COLLECTOR,
|
||||||
gettext_noop("collect block-level statistics on database activity"),
|
gettext_noop("Collects block-level statistics on database activity."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&pgstat_collect_blocklevel,
|
&pgstat_collect_blocklevel,
|
||||||
@ -672,7 +672,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"trace_notify", PGC_USERSET, DEVELOPER_OPTIONS,
|
{"trace_notify", PGC_USERSET, DEVELOPER_OPTIONS,
|
||||||
gettext_noop("generate debugging output for LISTEN and NOTIFY"),
|
gettext_noop("Generates debugging output for LISTEN and NOTIFY."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NOT_IN_SAMPLE
|
GUC_NOT_IN_SAMPLE
|
||||||
},
|
},
|
||||||
@ -721,7 +721,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"log_hostname", PGC_SIGHUP, LOGGING_WHAT,
|
{"log_hostname", PGC_SIGHUP, LOGGING_WHAT,
|
||||||
gettext_noop("log host name in connection logs"),
|
gettext_noop("Logs the host name in the connection logs."),
|
||||||
gettext_noop("By default, connection logs only show the IP address "
|
gettext_noop("By default, connection logs only show the IP address "
|
||||||
"of the connecting host. If you want them to show the host name you "
|
"of the connecting host. If you want them to show the host name you "
|
||||||
"can turn this on, but depending on your host name resolution "
|
"can turn this on, but depending on your host name resolution "
|
||||||
@ -732,7 +732,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"log_source_port", PGC_SIGHUP, LOGGING_WHAT,
|
{"log_source_port", PGC_SIGHUP, LOGGING_WHAT,
|
||||||
gettext_noop("log outgoing port number of the connecting host"),
|
gettext_noop("Logs the outgoing port number of the connecting host."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&LogSourcePort,
|
&LogSourcePort,
|
||||||
@ -741,7 +741,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"sql_inheritance", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
|
{"sql_inheritance", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
|
||||||
gettext_noop("include subtables by default in various commands"),
|
gettext_noop("Causes subtables to be included by default in various commands."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&SQL_inheritance,
|
&SQL_inheritance,
|
||||||
@ -749,7 +749,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"australian_timezones", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"australian_timezones", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("interpret ACST, CST, EST, and SAT as Australian time zones"),
|
gettext_noop("Interprets ACST, CST, EST, and SAT as Australian time zones."),
|
||||||
gettext_noop("Otherwise they are interpreted as North/South American "
|
gettext_noop("Otherwise they are interpreted as North/South American "
|
||||||
"time zones and Saturday.")
|
"time zones and Saturday.")
|
||||||
},
|
},
|
||||||
@ -758,7 +758,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"password_encryption", PGC_USERSET, CONN_AUTH_SECURITY,
|
{"password_encryption", PGC_USERSET, CONN_AUTH_SECURITY,
|
||||||
gettext_noop("encrypt passwords"),
|
gettext_noop("Encrypt passwords."),
|
||||||
gettext_noop("When a password is specified in CREATE USER or "
|
gettext_noop("When a password is specified in CREATE USER or "
|
||||||
"ALTER USER without writing either ENCRYPTED or UNENCRYPTED, "
|
"ALTER USER without writing either ENCRYPTED or UNENCRYPTED, "
|
||||||
"this parameter determines whether the password is to be encrypted.")
|
"this parameter determines whether the password is to be encrypted.")
|
||||||
@ -768,7 +768,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"transform_null_equals", PGC_USERSET, COMPAT_OPTIONS_CLIENT,
|
{"transform_null_equals", PGC_USERSET, COMPAT_OPTIONS_CLIENT,
|
||||||
gettext_noop("treat \"expr=NULL\" as \"expr IS NULL\""),
|
gettext_noop("Treats \"expr=NULL\" as \"expr IS NULL\"."),
|
||||||
gettext_noop("When turned on, expressions of the form expr = NULL "
|
gettext_noop("When turned on, expressions of the form expr = NULL "
|
||||||
"(or NULL = expr) are treated as expr IS NULL, that is, they "
|
"(or NULL = expr) are treated as expr IS NULL, that is, they "
|
||||||
"return true if expr evaluates to the null value, and false "
|
"return true if expr evaluates to the null value, and false "
|
||||||
@ -780,7 +780,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"db_user_namespace", PGC_SIGHUP, CONN_AUTH_SECURITY,
|
{"db_user_namespace", PGC_SIGHUP, CONN_AUTH_SECURITY,
|
||||||
gettext_noop("enable per-database user names"),
|
gettext_noop("Enables per-database user names."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Db_user_namespace,
|
&Db_user_namespace,
|
||||||
@ -789,9 +789,8 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
{
|
{
|
||||||
/* only here for backwards compatibility */
|
/* only here for backwards compatibility */
|
||||||
{"autocommit", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"autocommit", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("no effect"),
|
gettext_noop("This parameter doesn't do anything."),
|
||||||
gettext_noop("This parameter doesn't do anything. It's just here so that we won't choke on SET AUTOCOMMIT "
|
gettext_noop("It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."),
|
||||||
"TO ON from 7.3-vintage clients."),
|
|
||||||
GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE
|
GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE
|
||||||
},
|
},
|
||||||
&phony_autocommit,
|
&phony_autocommit,
|
||||||
@ -799,7 +798,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"default_transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"default_transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("default read-only status of new transactions"),
|
gettext_noop("Sets the default read-only status of new transactions."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&DefaultXactReadOnly,
|
&DefaultXactReadOnly,
|
||||||
@ -807,7 +806,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("current transaction's read-only status"),
|
gettext_noop("Shows the current transaction's read-only status."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -816,7 +815,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"add_missing_from", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
|
{"add_missing_from", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
|
||||||
gettext_noop("automatically add missing table references to FROM clauses"),
|
gettext_noop("Automatically adds missing table references to FROM clauses."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&add_missing_from,
|
&add_missing_from,
|
||||||
@ -824,7 +823,7 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"check_function_bodies", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"check_function_bodies", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("check function bodies during CREATE FUNCTION"),
|
gettext_noop("Check function bodies during CREATE FUNCTION."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&check_function_bodies,
|
&check_function_bodies,
|
||||||
@ -842,7 +841,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
{
|
{
|
||||||
{
|
{
|
||||||
{"default_statistics_target", PGC_USERSET, QUERY_TUNING_OTHER,
|
{"default_statistics_target", PGC_USERSET, QUERY_TUNING_OTHER,
|
||||||
gettext_noop("set the default statistics target"),
|
gettext_noop("Sets the default statistics target."),
|
||||||
gettext_noop("This applies to table columns that have not had a "
|
gettext_noop("This applies to table columns that have not had a "
|
||||||
"column-specific target set via ALTER TABLE SET STATISTICS.")
|
"column-specific target set via ALTER TABLE SET STATISTICS.")
|
||||||
},
|
},
|
||||||
@ -851,8 +850,8 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"from_collapse_limit", PGC_USERSET, QUERY_TUNING_OTHER,
|
{"from_collapse_limit", PGC_USERSET, QUERY_TUNING_OTHER,
|
||||||
gettext_noop("FROM-list size beyond which subqueries are not "
|
gettext_noop("Sets the FROM-list size beyond which subqueries are not "
|
||||||
"collapsed"),
|
"collapsed."),
|
||||||
gettext_noop("The planner will merge subqueries into upper "
|
gettext_noop("The planner will merge subqueries into upper "
|
||||||
"queries if the resulting FROM list would have no more than "
|
"queries if the resulting FROM list would have no more than "
|
||||||
"this many items.")
|
"this many items.")
|
||||||
@ -862,8 +861,8 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"join_collapse_limit", PGC_USERSET, QUERY_TUNING_OTHER,
|
{"join_collapse_limit", PGC_USERSET, QUERY_TUNING_OTHER,
|
||||||
gettext_noop("FROM-list size beyond which JOIN constructs are not "
|
gettext_noop("Sets the FROM-list size beyond which JOIN constructs are not "
|
||||||
"flattened"),
|
"flattened."),
|
||||||
gettext_noop("The planner will flatten explicit inner JOIN "
|
gettext_noop("The planner will flatten explicit inner JOIN "
|
||||||
"constructs into lists of FROM items whenever a list of no more "
|
"constructs into lists of FROM items whenever a list of no more "
|
||||||
"than this many items would result.")
|
"than this many items would result.")
|
||||||
@ -873,7 +872,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"geqo_threshold", PGC_USERSET, QUERY_TUNING_GEQO,
|
{"geqo_threshold", PGC_USERSET, QUERY_TUNING_GEQO,
|
||||||
gettext_noop("threshold of FROM items beyond which GEQO is used"),
|
gettext_noop("Sets the threshold of FROM items beyond which GEQO is used."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&geqo_threshold,
|
&geqo_threshold,
|
||||||
@ -881,7 +880,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"geqo_pool_size", PGC_USERSET, QUERY_TUNING_GEQO,
|
{"geqo_pool_size", PGC_USERSET, QUERY_TUNING_GEQO,
|
||||||
gettext_noop("GEQO: number of individuals in one population"),
|
gettext_noop("GEQO: number of individuals in one population."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Geqo_pool_size,
|
&Geqo_pool_size,
|
||||||
@ -889,7 +888,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"geqo_effort", PGC_USERSET, QUERY_TUNING_GEQO,
|
{"geqo_effort", PGC_USERSET, QUERY_TUNING_GEQO,
|
||||||
gettext_noop("GEQO: effort is used to calculate a default for generations"),
|
gettext_noop("GEQO: effort is used to calculate a default for generations."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Geqo_effort,
|
&Geqo_effort,
|
||||||
@ -897,7 +896,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"geqo_generations", PGC_USERSET, QUERY_TUNING_GEQO,
|
{"geqo_generations", PGC_USERSET, QUERY_TUNING_GEQO,
|
||||||
gettext_noop("GEQO: number of iterations in the algorithm"),
|
gettext_noop("GEQO: number of iterations in the algorithm."),
|
||||||
gettext_noop("The number must be a positive integer. If 0 is "
|
gettext_noop("The number must be a positive integer. If 0 is "
|
||||||
"specified then effort * log2(poolsize) is used.")
|
"specified then effort * log2(poolsize) is used.")
|
||||||
},
|
},
|
||||||
@ -907,7 +906,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"deadlock_timeout", PGC_SIGHUP, LOCK_MANAGEMENT,
|
{"deadlock_timeout", PGC_SIGHUP, LOCK_MANAGEMENT,
|
||||||
gettext_noop("time in milliseconds to wait on lock before checking for deadlock"),
|
gettext_noop("The time in milliseconds to wait on lock before checking for deadlock."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&DeadlockTimeout,
|
&DeadlockTimeout,
|
||||||
@ -917,7 +916,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
#ifdef HAVE_SYSLOG
|
#ifdef HAVE_SYSLOG
|
||||||
{
|
{
|
||||||
{"syslog", PGC_SIGHUP, LOGGING_SYSLOG,
|
{"syslog", PGC_SIGHUP, LOGGING_SYSLOG,
|
||||||
gettext_noop("use syslog for logging"),
|
gettext_noop("Uses syslog for logging."),
|
||||||
gettext_noop("If this parameter is 1, messages go both to syslog "
|
gettext_noop("If this parameter is 1, messages go both to syslog "
|
||||||
"and the standard output. A value of 2 sends output only to syslog. "
|
"and the standard output. A value of 2 sends output only to syslog. "
|
||||||
"(Some messages will still go to the standard output/error.) The "
|
"(Some messages will still go to the standard output/error.) The "
|
||||||
@ -937,7 +936,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
{"max_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"max_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("maximum number of concurrent connections"),
|
gettext_noop("Sets the maximum number of concurrent connections."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&MaxBackends,
|
&MaxBackends,
|
||||||
@ -946,7 +945,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"superuser_reserved_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"superuser_reserved_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("number of connection slots reserved for superusers"),
|
gettext_noop("Sets the number of connection slots reserved for superusers."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&ReservedBackends,
|
&ReservedBackends,
|
||||||
@ -955,7 +954,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"shared_buffers", PGC_POSTMASTER, RESOURCES_MEM,
|
{"shared_buffers", PGC_POSTMASTER, RESOURCES_MEM,
|
||||||
gettext_noop("number of shared memory buffers used by the server"),
|
gettext_noop("Sets the number of shared memory buffers used by the server."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&NBuffers,
|
&NBuffers,
|
||||||
@ -964,7 +963,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"port", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"port", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("TCP port the server listens on"),
|
gettext_noop("Sets the TCP port the server listens on."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&PostPortNumber,
|
&PostPortNumber,
|
||||||
@ -973,7 +972,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"unix_socket_permissions", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"unix_socket_permissions", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("access permissions of the Unix-domain socket"),
|
gettext_noop("Sets the access permissions of the Unix-domain socket."),
|
||||||
gettext_noop("Unix-domain sockets use the usual Unix file system "
|
gettext_noop("Unix-domain sockets use the usual Unix file system "
|
||||||
"permission set. The parameter value is expected to be an numeric mode "
|
"permission set. The parameter value is expected to be an numeric mode "
|
||||||
"specification in the form accepted by the chmod and umask system "
|
"specification in the form accepted by the chmod and umask system "
|
||||||
@ -986,7 +985,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"sort_mem", PGC_USERSET, RESOURCES_MEM,
|
{"sort_mem", PGC_USERSET, RESOURCES_MEM,
|
||||||
gettext_noop("maximum memory to be used for sorts and hash tables"),
|
gettext_noop("Sets the maximum memory to be used for sorts and hash tables."),
|
||||||
gettext_noop("Specifies the amount of memory to be used by internal "
|
gettext_noop("Specifies the amount of memory to be used by internal "
|
||||||
"sort operations and hash tables before switching to temporary disk "
|
"sort operations and hash tables before switching to temporary disk "
|
||||||
"files")
|
"files")
|
||||||
@ -997,7 +996,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"vacuum_mem", PGC_USERSET, RESOURCES_MEM,
|
{"vacuum_mem", PGC_USERSET, RESOURCES_MEM,
|
||||||
gettext_noop("maximum memory used to keep track of to-be-reclaimed rows"),
|
gettext_noop("Sets the maximum memory used to keep track of to-be-reclaimed rows."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&VacuumMem,
|
&VacuumMem,
|
||||||
@ -1006,7 +1005,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"max_files_per_process", PGC_BACKEND, RESOURCES_KERNEL,
|
{"max_files_per_process", PGC_BACKEND, RESOURCES_KERNEL,
|
||||||
gettext_noop("maximum number of simultaneously open files for each server process"),
|
gettext_noop("Sets the maximum number of simultaneously open files for each server process."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&max_files_per_process,
|
&max_files_per_process,
|
||||||
@ -1035,7 +1034,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
{"max_expr_depth", PGC_USERSET, CLIENT_CONN_OTHER,
|
{"max_expr_depth", PGC_USERSET, CLIENT_CONN_OTHER,
|
||||||
gettext_noop("maximum expression nesting depth"),
|
gettext_noop("Sets the maximum expression nesting depth."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&max_expr_depth,
|
&max_expr_depth,
|
||||||
@ -1044,7 +1043,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"statement_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"statement_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("maximum allowed duration (in milliseconds) of any statement"),
|
gettext_noop("Sets the maximum allowed duration (in milliseconds) of any statement."),
|
||||||
gettext_noop("A value of 0 turns off the timeout.")
|
gettext_noop("A value of 0 turns off the timeout.")
|
||||||
},
|
},
|
||||||
&StatementTimeout,
|
&StatementTimeout,
|
||||||
@ -1053,8 +1052,8 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"max_fsm_relations", PGC_POSTMASTER, RESOURCES_FSM,
|
{"max_fsm_relations", PGC_POSTMASTER, RESOURCES_FSM,
|
||||||
gettext_noop("maximum number of tables and indexes for which free space is "
|
gettext_noop("Sets the maximum number of tables and indexes for which free space is "
|
||||||
"tracked"),
|
"tracked."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&MaxFSMRelations,
|
&MaxFSMRelations,
|
||||||
@ -1062,8 +1061,8 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"max_fsm_pages", PGC_POSTMASTER, RESOURCES_FSM,
|
{"max_fsm_pages", PGC_POSTMASTER, RESOURCES_FSM,
|
||||||
gettext_noop("maximum number of disk pages for which free space is "
|
gettext_noop("Sets the maximum number of disk pages for which free space is "
|
||||||
"tracked"),
|
"tracked."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&MaxFSMPages,
|
&MaxFSMPages,
|
||||||
@ -1072,7 +1071,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"max_locks_per_transaction", PGC_POSTMASTER, LOCK_MANAGEMENT,
|
{"max_locks_per_transaction", PGC_POSTMASTER, LOCK_MANAGEMENT,
|
||||||
gettext_noop("maximum number of locks per transaction"),
|
gettext_noop("Sets the maximum number of locks per transaction."),
|
||||||
gettext_noop("The shared lock table is sized on the assumption that "
|
gettext_noop("The shared lock table is sized on the assumption that "
|
||||||
"at most max_locks_per_transaction * max_connections distinct "
|
"at most max_locks_per_transaction * max_connections distinct "
|
||||||
"objects will need to be locked at any one time.")
|
"objects will need to be locked at any one time.")
|
||||||
@ -1083,7 +1082,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"authentication_timeout", PGC_SIGHUP, CONN_AUTH_SECURITY,
|
{"authentication_timeout", PGC_SIGHUP, CONN_AUTH_SECURITY,
|
||||||
gettext_noop("maximum time in seconds to complete client authentication"),
|
gettext_noop("Sets the maximum time in seconds to complete client authentication."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&AuthenticationTimeout,
|
&AuthenticationTimeout,
|
||||||
@ -1103,7 +1102,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"checkpoint_segments", PGC_SIGHUP, WAL_CHECKPOINTS,
|
{"checkpoint_segments", PGC_SIGHUP, WAL_CHECKPOINTS,
|
||||||
gettext_noop("maximum distance in log segments between automatic WAL checkpoints"),
|
gettext_noop("Sets the maximum distance in log segments between automatic WAL checkpoints."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&CheckPointSegments,
|
&CheckPointSegments,
|
||||||
@ -1112,7 +1111,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"checkpoint_timeout", PGC_SIGHUP, WAL_CHECKPOINTS,
|
{"checkpoint_timeout", PGC_SIGHUP, WAL_CHECKPOINTS,
|
||||||
gettext_noop("maximum time in seconds between automatic WAL checkpoints"),
|
gettext_noop("Sets the maximum time in seconds between automatic WAL checkpoints."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&CheckPointTimeout,
|
&CheckPointTimeout,
|
||||||
@ -1121,8 +1120,8 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"checkpoint_warning", PGC_SIGHUP, WAL_CHECKPOINTS,
|
{"checkpoint_warning", PGC_SIGHUP, WAL_CHECKPOINTS,
|
||||||
gettext_noop("log if filling of checkpoint segments happens more "
|
gettext_noop("Logs if filling of checkpoint segments happens more "
|
||||||
"frequently than this (in seconds)"),
|
"frequently than this (in seconds)."),
|
||||||
gettext_noop("Write a message to the server log if checkpoints "
|
gettext_noop("Write a message to the server log if checkpoints "
|
||||||
"caused by the filling of checkpoint segment files happens more "
|
"caused by the filling of checkpoint segment files happens more "
|
||||||
"frequently than this number of seconds. Zero turns off the warning.")
|
"frequently than this number of seconds. Zero turns off the warning.")
|
||||||
@ -1133,7 +1132,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"wal_buffers", PGC_POSTMASTER, WAL_SETTINGS,
|
{"wal_buffers", PGC_POSTMASTER, WAL_SETTINGS,
|
||||||
gettext_noop("disk-page buffers in shared memory for WAL"),
|
gettext_noop("Sets the number of disk-page buffers in shared memory for WAL."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&XLOGbuffers,
|
&XLOGbuffers,
|
||||||
@ -1142,7 +1141,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"wal_debug", PGC_SUSET, DEVELOPER_OPTIONS,
|
{"wal_debug", PGC_SUSET, DEVELOPER_OPTIONS,
|
||||||
gettext_noop("if nonzero, log WAL-related debugging output"),
|
gettext_noop("If nonzero, WAL-related debugging output is logged."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NOT_IN_SAMPLE
|
GUC_NOT_IN_SAMPLE
|
||||||
},
|
},
|
||||||
@ -1152,8 +1151,8 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"commit_delay", PGC_USERSET, WAL_CHECKPOINTS,
|
{"commit_delay", PGC_USERSET, WAL_CHECKPOINTS,
|
||||||
gettext_noop("delay in microseconds between transaction commit and "
|
gettext_noop("Sets the delay in microseconds between transaction commit and "
|
||||||
"flushing WAL to disk"),
|
"flushing WAL to disk."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&CommitDelay,
|
&CommitDelay,
|
||||||
@ -1162,8 +1161,8 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"commit_siblings", PGC_USERSET, WAL_CHECKPOINTS,
|
{"commit_siblings", PGC_USERSET, WAL_CHECKPOINTS,
|
||||||
gettext_noop("minimum concurrent open transactions before performing "
|
gettext_noop("Sets the minimum concurrent open transactions before performing "
|
||||||
"commit_delay"),
|
"commit_delay."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&CommitSiblings,
|
&CommitSiblings,
|
||||||
@ -1172,7 +1171,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"extra_float_digits", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"extra_float_digits", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("number of digits displayed for floating-point values"),
|
gettext_noop("Sets the number of digits displayed for floating-point values."),
|
||||||
gettext_noop("This affects real, double precision, and geometric data types. "
|
gettext_noop("This affects real, double precision, and geometric data types. "
|
||||||
"The parameter value is added to the standard number of digits "
|
"The parameter value is added to the standard number of digits "
|
||||||
"(FLT_DIG or DBL_DIG as appropriate).")
|
"(FLT_DIG or DBL_DIG as appropriate).")
|
||||||
@ -1183,9 +1182,9 @@ static struct config_int ConfigureNamesInt[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"log_min_duration_statement", PGC_USERLIMIT, LOGGING_WHEN,
|
{"log_min_duration_statement", PGC_USERLIMIT, LOGGING_WHEN,
|
||||||
gettext_noop("minimum execution time in milliseconds above which statements will "
|
gettext_noop("Sets the minimum execution time in milliseconds above which statements will "
|
||||||
"be logged"),
|
"be logged."),
|
||||||
gettext_noop("Zero prints all queries. The default is -1 (turning this feature off).")
|
gettext_noop("Zero prints all queries. The default is -1 (turning this feature off).")
|
||||||
},
|
},
|
||||||
&log_min_duration_statement,
|
&log_min_duration_statement,
|
||||||
-1, -1, INT_MAX / 1000, NULL, NULL
|
-1, -1, INT_MAX / 1000, NULL, NULL
|
||||||
@ -1202,7 +1201,7 @@ static struct config_real ConfigureNamesReal[] =
|
|||||||
{
|
{
|
||||||
{
|
{
|
||||||
{"effective_cache_size", PGC_USERSET, QUERY_TUNING_COST,
|
{"effective_cache_size", PGC_USERSET, QUERY_TUNING_COST,
|
||||||
gettext_noop("planner's assumption about size of the disk cache"),
|
gettext_noop("Sets the planner's assumption about size of the disk cache."),
|
||||||
gettext_noop("That is, the portion of the kernel's disk cache that "
|
gettext_noop("That is, the portion of the kernel's disk cache that "
|
||||||
"will be used for PostgreSQL data files. This is measured in disk "
|
"will be used for PostgreSQL data files. This is measured in disk "
|
||||||
"pages, which are normally 8 kB each.")
|
"pages, which are normally 8 kB each.")
|
||||||
@ -1212,8 +1211,8 @@ static struct config_real ConfigureNamesReal[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"random_page_cost", PGC_USERSET, QUERY_TUNING_COST,
|
{"random_page_cost", PGC_USERSET, QUERY_TUNING_COST,
|
||||||
gettext_noop("planner's estimate of the cost of a nonsequentially "
|
gettext_noop("Sets the planner's estimate of the cost of a nonsequentially "
|
||||||
"fetched disk page"),
|
"fetched disk page."),
|
||||||
gettext_noop("This is measured as a multiple of the cost of a "
|
gettext_noop("This is measured as a multiple of the cost of a "
|
||||||
"sequential page fetch. A higher value makes it more likely a "
|
"sequential page fetch. A higher value makes it more likely a "
|
||||||
"sequential scan will be used, a lower value makes it more likely an "
|
"sequential scan will be used, a lower value makes it more likely an "
|
||||||
@ -1224,7 +1223,7 @@ static struct config_real ConfigureNamesReal[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"cpu_tuple_cost", PGC_USERSET, QUERY_TUNING_COST,
|
{"cpu_tuple_cost", PGC_USERSET, QUERY_TUNING_COST,
|
||||||
gettext_noop("planner's estimate of the cost of processing each tuple (row)"),
|
gettext_noop("Sets the planner's estimate of the cost of processing each tuple (row)."),
|
||||||
gettext_noop("This is measured as a fraction of the cost of a "
|
gettext_noop("This is measured as a fraction of the cost of a "
|
||||||
"sequential page fetch.")
|
"sequential page fetch.")
|
||||||
},
|
},
|
||||||
@ -1233,8 +1232,8 @@ static struct config_real ConfigureNamesReal[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"cpu_index_tuple_cost", PGC_USERSET, QUERY_TUNING_COST,
|
{"cpu_index_tuple_cost", PGC_USERSET, QUERY_TUNING_COST,
|
||||||
gettext_noop("planner's estimate of processing cost for each "
|
gettext_noop("Sets the planner's estimate of processing cost for each "
|
||||||
"index tuple (row) during index scan"),
|
"index tuple (row) during index scan."),
|
||||||
gettext_noop("This is measured as a fraction of the cost of a "
|
gettext_noop("This is measured as a fraction of the cost of a "
|
||||||
"sequential page fetch.")
|
"sequential page fetch.")
|
||||||
},
|
},
|
||||||
@ -1243,7 +1242,7 @@ static struct config_real ConfigureNamesReal[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"cpu_operator_cost", PGC_USERSET, QUERY_TUNING_COST,
|
{"cpu_operator_cost", PGC_USERSET, QUERY_TUNING_COST,
|
||||||
gettext_noop("planner's estimate of processing cost of each operator in WHERE"),
|
gettext_noop("Sets the planner's estimate of processing cost of each operator in WHERE."),
|
||||||
gettext_noop("This is measured as a fraction of the cost of a sequential "
|
gettext_noop("This is measured as a fraction of the cost of a sequential "
|
||||||
"page fetch.")
|
"page fetch.")
|
||||||
},
|
},
|
||||||
@ -1253,7 +1252,7 @@ static struct config_real ConfigureNamesReal[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"geqo_selection_bias", PGC_USERSET, QUERY_TUNING_GEQO,
|
{"geqo_selection_bias", PGC_USERSET, QUERY_TUNING_GEQO,
|
||||||
gettext_noop("GEQO: selective pressure within the population"),
|
gettext_noop("GEQO: selective pressure within the population."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Geqo_selection_bias,
|
&Geqo_selection_bias,
|
||||||
@ -1263,7 +1262,7 @@ static struct config_real ConfigureNamesReal[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"seed", PGC_USERSET, UNGROUPED,
|
{"seed", PGC_USERSET, UNGROUPED,
|
||||||
gettext_noop("seed for random-number generation"),
|
gettext_noop("Sets the seed for random-number generation."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -1282,7 +1281,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
{
|
{
|
||||||
{
|
{
|
||||||
{"client_encoding", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"client_encoding", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("client's character set encoding"),
|
gettext_noop("Sets the client's character set encoding."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_REPORT
|
GUC_REPORT
|
||||||
},
|
},
|
||||||
@ -1292,7 +1291,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"client_min_messages", PGC_USERSET, LOGGING_WHEN,
|
{"client_min_messages", PGC_USERSET, LOGGING_WHEN,
|
||||||
gettext_noop("message levels that are sent to the client"),
|
gettext_noop("Sets the message levels that are sent to the client."),
|
||||||
gettext_noop("Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, "
|
gettext_noop("Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, "
|
||||||
"DEBUG1, LOG, NOTICE, WARNING, and ERROR. Each level includes all the "
|
"DEBUG1, LOG, NOTICE, WARNING, and ERROR. Each level includes all the "
|
||||||
"levels that follow it. The later the level, the fewer messages are "
|
"levels that follow it. The later the level, the fewer messages are "
|
||||||
@ -1304,7 +1303,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"log_min_messages", PGC_USERLIMIT, LOGGING_WHEN,
|
{"log_min_messages", PGC_USERLIMIT, LOGGING_WHEN,
|
||||||
gettext_noop("message levels that are logged"),
|
gettext_noop("Sets the message levels that are logged."),
|
||||||
gettext_noop("Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, "
|
gettext_noop("Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, "
|
||||||
"INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level "
|
"INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level "
|
||||||
"includes all the levels that follow it.")
|
"includes all the levels that follow it.")
|
||||||
@ -1315,7 +1314,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"log_error_verbosity", PGC_SUSET, LOGGING_WHEN,
|
{"log_error_verbosity", PGC_SUSET, LOGGING_WHEN,
|
||||||
gettext_noop("verbosity of logged messages"),
|
gettext_noop("Sets the verbosity of logged messages."),
|
||||||
gettext_noop("Valid values are \"terse\", \"default\", and \"verbose\".")
|
gettext_noop("Valid values are \"terse\", \"default\", and \"verbose\".")
|
||||||
},
|
},
|
||||||
&log_error_verbosity_str,
|
&log_error_verbosity_str,
|
||||||
@ -1324,7 +1323,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"log_min_error_statement", PGC_USERLIMIT, LOGGING_WHEN,
|
{"log_min_error_statement", PGC_USERLIMIT, LOGGING_WHEN,
|
||||||
gettext_noop("log statements generating error at or above this level"),
|
gettext_noop("Causes all statements generating error at or above this level to be logged."),
|
||||||
gettext_noop("All SQL statements that cause an error of the "
|
gettext_noop("All SQL statements that cause an error of the "
|
||||||
"specified level or a higher level are logged.")
|
"specified level or a higher level are logged.")
|
||||||
},
|
},
|
||||||
@ -1334,7 +1333,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"DateStyle", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"DateStyle", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("display format for date and time values"),
|
gettext_noop("Sets the display format for date and time values."),
|
||||||
gettext_noop("Also controls interpretation of ambiguous "
|
gettext_noop("Also controls interpretation of ambiguous "
|
||||||
"date inputs."),
|
"date inputs."),
|
||||||
GUC_LIST_INPUT | GUC_REPORT
|
GUC_LIST_INPUT | GUC_REPORT
|
||||||
@ -1345,7 +1344,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"default_transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"default_transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("transaction isolation level of each new transaction"),
|
gettext_noop("Sets the transaction isolation level of each new transaction."),
|
||||||
gettext_noop("Each SQL transaction has an isolation level, which "
|
gettext_noop("Each SQL transaction has an isolation level, which "
|
||||||
"can be either \"read committed\" or \"serializable\".")
|
"can be either \"read committed\" or \"serializable\".")
|
||||||
},
|
},
|
||||||
@ -1355,7 +1354,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"dynamic_library_path", PGC_SUSET, CLIENT_CONN_OTHER,
|
{"dynamic_library_path", PGC_SUSET, CLIENT_CONN_OTHER,
|
||||||
gettext_noop("path for dynamically loadable modules"),
|
gettext_noop("Sets the path for dynamically loadable modules."),
|
||||||
gettext_noop("If a dynamically loadable module needs to be opened and "
|
gettext_noop("If a dynamically loadable module needs to be opened and "
|
||||||
"the specified name does not have a directory component (i.e., the "
|
"the specified name does not have a directory component (i.e., the "
|
||||||
"name does not contain a slash), the system will search this path for "
|
"name does not contain a slash), the system will search this path for "
|
||||||
@ -1367,7 +1366,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"krb_server_keyfile", PGC_POSTMASTER, CONN_AUTH_SECURITY,
|
{"krb_server_keyfile", PGC_POSTMASTER, CONN_AUTH_SECURITY,
|
||||||
gettext_noop("location of the Kerberos server key file"),
|
gettext_noop("Sets the location of the Kerberos server key file."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&pg_krb_server_keyfile,
|
&pg_krb_server_keyfile,
|
||||||
@ -1376,7 +1375,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"rendezvous_name", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"rendezvous_name", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("Rendezvous broadcast service name"),
|
gettext_noop("Sets the Rendezvous broadcast service name."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&rendezvous_name,
|
&rendezvous_name,
|
||||||
@ -1387,7 +1386,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"lc_collate", PGC_INTERNAL, CLIENT_CONN_LOCALE,
|
{"lc_collate", PGC_INTERNAL, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("collation order locale"),
|
gettext_noop("Shows the collation order locale."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -1397,7 +1396,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"lc_ctype", PGC_INTERNAL, CLIENT_CONN_LOCALE,
|
{"lc_ctype", PGC_INTERNAL, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("character classification and case conversion locale"),
|
gettext_noop("Shows the character classification and case conversion locale."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -1407,7 +1406,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"lc_messages", PGC_SUSET, CLIENT_CONN_LOCALE,
|
{"lc_messages", PGC_SUSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("language in which messages are displayed"),
|
gettext_noop("Sets the language in which messages are displayed."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&locale_messages,
|
&locale_messages,
|
||||||
@ -1416,7 +1415,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"lc_monetary", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"lc_monetary", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("locale for formatting monetary amounts"),
|
gettext_noop("Sets the locale for formatting monetary amounts."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&locale_monetary,
|
&locale_monetary,
|
||||||
@ -1425,7 +1424,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"lc_numeric", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"lc_numeric", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("locale for formatting numbers"),
|
gettext_noop("Sets the locale for formatting numbers."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&locale_numeric,
|
&locale_numeric,
|
||||||
@ -1434,7 +1433,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"lc_time", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"lc_time", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("locale for formatting date and time values"),
|
gettext_noop("Sets the locale for formatting date and time values."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&locale_time,
|
&locale_time,
|
||||||
@ -1443,7 +1442,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"preload_libraries", PGC_POSTMASTER, RESOURCES_KERNEL,
|
{"preload_libraries", PGC_POSTMASTER, RESOURCES_KERNEL,
|
||||||
gettext_noop("shared libraries to preload into server"),
|
gettext_noop("Lists shared libraries to preload into server."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_LIST_INPUT | GUC_LIST_QUOTE
|
GUC_LIST_INPUT | GUC_LIST_QUOTE
|
||||||
},
|
},
|
||||||
@ -1453,7 +1452,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"regex_flavor", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
|
{"regex_flavor", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
|
||||||
gettext_noop("regular expression \"flavor\""),
|
gettext_noop("Sets the regular expression \"flavor\"."),
|
||||||
gettext_noop("This can be set to advanced, extended, or basic.")
|
gettext_noop("This can be set to advanced, extended, or basic.")
|
||||||
},
|
},
|
||||||
®ex_flavor_string,
|
®ex_flavor_string,
|
||||||
@ -1462,7 +1461,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"search_path", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"search_path", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("schema search order for names not schema-qualified"),
|
gettext_noop("Sets the schema search order for names that are not schema-qualified."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_LIST_INPUT | GUC_LIST_QUOTE
|
GUC_LIST_INPUT | GUC_LIST_QUOTE
|
||||||
},
|
},
|
||||||
@ -1473,7 +1472,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
{
|
{
|
||||||
/* Can't be set in postgresql.conf */
|
/* Can't be set in postgresql.conf */
|
||||||
{"server_encoding", PGC_INTERNAL, CLIENT_CONN_LOCALE,
|
{"server_encoding", PGC_INTERNAL, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("server (database) character set encoding"),
|
gettext_noop("Sets the server (database) character set encoding."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -1484,7 +1483,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
{
|
{
|
||||||
/* Can't be set in postgresql.conf */
|
/* Can't be set in postgresql.conf */
|
||||||
{"server_version", PGC_INTERNAL, UNGROUPED,
|
{"server_version", PGC_INTERNAL, UNGROUPED,
|
||||||
gettext_noop("server version"),
|
gettext_noop("Shows the server version."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -1495,7 +1494,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
{
|
{
|
||||||
/* Not for general use --- used by SET SESSION AUTHORIZATION */
|
/* Not for general use --- used by SET SESSION AUTHORIZATION */
|
||||||
{"session_authorization", PGC_USERSET, UNGROUPED,
|
{"session_authorization", PGC_USERSET, UNGROUPED,
|
||||||
gettext_noop("session user name"),
|
gettext_noop("Shows the session user name."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -1506,7 +1505,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
#ifdef HAVE_SYSLOG
|
#ifdef HAVE_SYSLOG
|
||||||
{
|
{
|
||||||
{"syslog_facility", PGC_POSTMASTER, LOGGING_SYSLOG,
|
{"syslog_facility", PGC_POSTMASTER, LOGGING_SYSLOG,
|
||||||
gettext_noop("syslog \"facility\" to be used when syslog enabled"),
|
gettext_noop("Sets the syslog \"facility\" to be used when syslog enabled."),
|
||||||
gettext_noop("Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, "
|
gettext_noop("Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, "
|
||||||
"LOCAL4, LOCAL5, LOCAL6, LOCAL7.")
|
"LOCAL4, LOCAL5, LOCAL6, LOCAL7.")
|
||||||
},
|
},
|
||||||
@ -1515,8 +1514,8 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"syslog_ident", PGC_POSTMASTER, LOGGING_SYSLOG,
|
{"syslog_ident", PGC_POSTMASTER, LOGGING_SYSLOG,
|
||||||
gettext_noop("program name used to identify PostgreSQL messages "
|
gettext_noop("Sets the program name used to identify PostgreSQL messages "
|
||||||
"in syslog"),
|
"in syslog."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&Syslog_ident,
|
&Syslog_ident,
|
||||||
@ -1526,7 +1525,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"TimeZone", PGC_USERSET, CLIENT_CONN_LOCALE,
|
{"TimeZone", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||||
gettext_noop("time zone for displaying and interpreting time stamps"),
|
gettext_noop("Sets the time zone for displaying and interpreting time stamps."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&timezone_string,
|
&timezone_string,
|
||||||
@ -1535,7 +1534,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
{"transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||||
gettext_noop("current transaction's isolation level"),
|
gettext_noop("Shows the current transaction's isolation level."),
|
||||||
NULL,
|
NULL,
|
||||||
GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
|
||||||
},
|
},
|
||||||
@ -1545,7 +1544,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"unix_socket_group", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"unix_socket_group", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("owning group of the Unix-domain socket"),
|
gettext_noop("Sets the owning group of the Unix-domain socket."),
|
||||||
gettext_noop("(The owning user of the socket is always the user "
|
gettext_noop("(The owning user of the socket is always the user "
|
||||||
"that starts the server.)")
|
"that starts the server.)")
|
||||||
},
|
},
|
||||||
@ -1555,7 +1554,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"unix_socket_directory", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"unix_socket_directory", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("directory where the Unix-domain socket will be created"),
|
gettext_noop("Sets the directory where the Unix-domain socket will be created."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&UnixSocketDir,
|
&UnixSocketDir,
|
||||||
@ -1564,7 +1563,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"virtual_host", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
{"virtual_host", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||||
gettext_noop("host name or IP address to listen to"),
|
gettext_noop("Sets the host name or IP address to listen to."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&VirtualHost,
|
&VirtualHost,
|
||||||
@ -1573,7 +1572,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
|
|
||||||
{
|
{
|
||||||
{"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS,
|
{"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS,
|
||||||
gettext_noop("method used for forcing WAL updates out to disk"),
|
gettext_noop("Selects the method used for forcing WAL updates out to disk."),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
&XLOG_sync_method,
|
&XLOG_sync_method,
|
||||||
|
@ -3,9 +3,6 @@
|
|||||||
*
|
*
|
||||||
* Displays available options under grand unified configuration scheme
|
* Displays available options under grand unified configuration scheme
|
||||||
*
|
*
|
||||||
* The purpose of this option is to list, sort, and make searchable, all
|
|
||||||
* runtime options available to PostgreSQL, by their description and grouping.
|
|
||||||
*
|
|
||||||
* Options whose flag bits are set to GUC_NO_SHOW_ALL, GUC_NOT_IN_SAMPLE,
|
* Options whose flag bits are set to GUC_NO_SHOW_ALL, GUC_NOT_IN_SAMPLE,
|
||||||
* or GUC_DISALLOW_IN_FILE are not displayed, unless the user specifically
|
* or GUC_DISALLOW_IN_FILE are not displayed, unless the user specifically
|
||||||
* requests that variable by name
|
* requests that variable by name
|
||||||
@ -13,17 +10,12 @@
|
|||||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/help_config.c,v 1.7 2003/09/27 09:29:31 petere Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/misc/help_config.c,v 1.8 2003/10/18 22:59:09 petere Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
#include "postgres.h"
|
#include "postgres.h"
|
||||||
|
|
||||||
#include <fcntl.h>
|
|
||||||
#ifdef HAVE_GETOPT_H
|
|
||||||
#include <getopt.h>
|
|
||||||
#endif
|
|
||||||
#include <errno.h>
|
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@ -32,56 +24,6 @@
|
|||||||
#include "utils/guc_tables.h"
|
#include "utils/guc_tables.h"
|
||||||
#include "utils/help_config.h"
|
#include "utils/help_config.h"
|
||||||
|
|
||||||
extern int optind;
|
|
||||||
extern char *optarg;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following char constructs provide the different formats the variables
|
|
||||||
* can be outputted in.
|
|
||||||
*/
|
|
||||||
#define HUMAN_OUTPUT 0
|
|
||||||
#define MACHINE_OUTPUT 1
|
|
||||||
|
|
||||||
static const char *const GENERIC_FORMAT[] = {
|
|
||||||
gettext_noop("Name: %-20s\nContext: %-20s\nGroup: %-20s\n"),
|
|
||||||
"%s\t%s\t%s\t"
|
|
||||||
};
|
|
||||||
static const char *const GENERIC_DESC[] = {
|
|
||||||
gettext_noop("Description: %s\n%s\n"),
|
|
||||||
"%s\t%s\n"
|
|
||||||
};
|
|
||||||
static const char *const BOOL_FORMAT[] = {
|
|
||||||
gettext_noop("Type: Boolean\nDefault value: %-s\n"),
|
|
||||||
"BOOL\t%s\t\t\t"
|
|
||||||
};
|
|
||||||
static const char *const INT_FORMAT[] = {
|
|
||||||
gettext_noop("Type: integer\nDefault value: %-20d\nMin value: %-20d\nMax value: %-20d\n"),
|
|
||||||
"INT\t%d\t%d\t%d\t"
|
|
||||||
};
|
|
||||||
static const char *const REAL_FORMAT[] = {
|
|
||||||
gettext_noop("Type: real\nDefault value: %-20g\nMin value: %-20g\nMax value: %-20g\n"),
|
|
||||||
"REAL\t%g\t%g\t%g\t"
|
|
||||||
};
|
|
||||||
static const char *const STRING_FORMAT[] = {
|
|
||||||
gettext_noop("Type: string\nDefault value: %-s\n"),
|
|
||||||
"STRING\t%s\t\t\t"
|
|
||||||
};
|
|
||||||
static const char *const ROW_SEPARATOR[] = {
|
|
||||||
"------------------------------------------------------------\n",
|
|
||||||
""
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Variables loaded from the command line
|
|
||||||
*/
|
|
||||||
static char *nameString = NULL; /* The var name pattern to match */
|
|
||||||
static char *groupString = NULL; /* The var group pattern to match */
|
|
||||||
static int outFormat = HUMAN_OUTPUT;
|
|
||||||
static bool suppressAllHeaders = false; /* MACHINE_OUTPUT output, no
|
|
||||||
* column headers */
|
|
||||||
static bool groupResults = true; /* sort result list by groups */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This union allows us to mix the numerous different types of structs
|
* This union allows us to mix the numerous different types of structs
|
||||||
@ -97,211 +39,40 @@ typedef union
|
|||||||
} mixedStruct;
|
} mixedStruct;
|
||||||
|
|
||||||
|
|
||||||
/* function prototypes */
|
|
||||||
static bool varMatches(mixedStruct *structToTest);
|
|
||||||
static int compareMixedStructs(const void *, const void *);
|
|
||||||
static mixedStruct **varsToDisplay(int *resultListSize);
|
|
||||||
static void helpMessage(const char *progname);
|
|
||||||
static void listAllGroups(void);
|
|
||||||
static void printGenericHead(struct config_generic structToPrint);
|
|
||||||
static void printGenericFoot(struct config_generic structToPrint);
|
|
||||||
static void printMixedStruct(mixedStruct *structToPrint);
|
static void printMixedStruct(mixedStruct *structToPrint);
|
||||||
static bool displayStruct(mixedStruct *structToDisplay);
|
static bool displayStruct(mixedStruct *structToDisplay);
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Reads in the the command line options and sets the state of the program
|
|
||||||
* accordingly. Initializes the result list and sorts it.
|
|
||||||
*/
|
|
||||||
int
|
int
|
||||||
GucInfoMain(int argc, char *argv[])
|
GucInfoMain(void)
|
||||||
{
|
{
|
||||||
mixedStruct **varList;
|
|
||||||
int resultListSize;
|
|
||||||
int c;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
while ((c = getopt(argc - 1, argv + 1, "g:GmMlh")) != -1)
|
/* Initialize the guc_variables[] array */
|
||||||
|
build_guc_variables();
|
||||||
|
|
||||||
|
for (i = 0; i < num_guc_variables; i++)
|
||||||
{
|
{
|
||||||
switch (c)
|
mixedStruct *var = (mixedStruct *) guc_variables[i];
|
||||||
{
|
|
||||||
case 'g':
|
|
||||||
groupString = optarg;
|
|
||||||
break;
|
|
||||||
case 'G':
|
|
||||||
groupResults = false;
|
|
||||||
break;
|
|
||||||
case 'm':
|
|
||||||
outFormat = MACHINE_OUTPUT;
|
|
||||||
break;
|
|
||||||
case 'M':
|
|
||||||
outFormat = MACHINE_OUTPUT;
|
|
||||||
suppressAllHeaders = true;
|
|
||||||
break;
|
|
||||||
case 'l':
|
|
||||||
listAllGroups();
|
|
||||||
exit(0);
|
|
||||||
case 'h':
|
|
||||||
helpMessage(argv[0]);
|
|
||||||
exit(0);
|
|
||||||
|
|
||||||
default:
|
if (displayStruct(var))
|
||||||
fprintf(stderr, gettext("Try \"%s --help-config -h\" for more information.\n"), argv[0]);
|
printMixedStruct(var);
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (optind < argc - 1)
|
|
||||||
nameString = argv[optind + 1];
|
|
||||||
|
|
||||||
/* get the list of variables that match the user's specs. */
|
|
||||||
varList = varsToDisplay(&resultListSize);
|
|
||||||
|
|
||||||
/* sort them by group if desired */
|
|
||||||
/* (without this, we get the original sort by name from guc.c) */
|
|
||||||
if (groupResults)
|
|
||||||
qsort(varList, resultListSize,
|
|
||||||
sizeof(mixedStruct *), compareMixedStructs);
|
|
||||||
|
|
||||||
/* output the results */
|
|
||||||
if (outFormat == MACHINE_OUTPUT && !suppressAllHeaders)
|
|
||||||
printf("NAME\tCONTEXT\tGROUP\tTYPE\tDEFAULT_VALUE\tMIN\tMAX\tSHORT_DESCRIPTION\tLONG_DESCRIPTION\n");
|
|
||||||
|
|
||||||
for (i = 0; varList[i] != NULL; i++)
|
|
||||||
{
|
|
||||||
printf(ROW_SEPARATOR[outFormat]);
|
|
||||||
printMixedStruct(varList[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function is used to compare two mixedStruct types. It compares based
|
|
||||||
* on the value of the 'group' field, and then the name of the variable.
|
|
||||||
* Each void* is expected to be a pointer to a pointer to a struct.
|
|
||||||
* (This is because it is used by qsort to sort an array of struct pointers)
|
|
||||||
*
|
|
||||||
* Returns an integer less than, equal to, or greater than zero if the first
|
|
||||||
* argument (struct1) is considered to be respectively less than, equal to,
|
|
||||||
* or greater than the second (struct2). The comparison is made frist on the
|
|
||||||
* value of struct{1,2}.generic.group and then struct{1,2}.generic.name. The
|
|
||||||
* groups will display in the order they are defined in enum config_group
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
compareMixedStructs(const void *struct1, const void *struct2)
|
|
||||||
{
|
|
||||||
mixedStruct *structVar1 = *(mixedStruct **) struct1;
|
|
||||||
mixedStruct *structVar2 = *(mixedStruct **) struct2;
|
|
||||||
|
|
||||||
if (structVar1->generic.group > structVar2->generic.group)
|
|
||||||
return 1;
|
|
||||||
else if (structVar1->generic.group < structVar2->generic.group)
|
|
||||||
return -1;
|
|
||||||
else
|
|
||||||
return strcmp(structVar1->generic.name, structVar2->generic.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function returns a complete list of all the variables to display,
|
|
||||||
* according to what the user wants to see.
|
|
||||||
*/
|
|
||||||
static mixedStruct **
|
|
||||||
varsToDisplay(int *resultListSize)
|
|
||||||
{
|
|
||||||
mixedStruct **resultList;
|
|
||||||
int arrayIndex;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
/* Initialize the guc_variables[] array */
|
|
||||||
build_guc_variables();
|
|
||||||
|
|
||||||
/* Extract just the ones we want to display */
|
|
||||||
resultList = malloc((num_guc_variables + 1) * sizeof(mixedStruct *));
|
|
||||||
arrayIndex = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < num_guc_variables; i++)
|
|
||||||
{
|
|
||||||
mixedStruct *var = (mixedStruct *) guc_variables[i];
|
|
||||||
|
|
||||||
if (varMatches(var))
|
|
||||||
resultList[arrayIndex++] = var;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* add an end marker */
|
|
||||||
resultList[arrayIndex] = NULL;
|
|
||||||
|
|
||||||
*resultListSize = arrayIndex;
|
|
||||||
return resultList;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function will return true if the struct passed to it
|
* This function will return true if the struct passed to it
|
||||||
* should be displayed to the user.
|
* should be displayed to the user.
|
||||||
*
|
|
||||||
* The criteria to determine if the struct should not be displayed is:
|
|
||||||
* + It's flag bits are set to GUC_NO_SHOW_ALL
|
|
||||||
* + It's flag bits are set to GUC_NOT_IN_SAMPLE
|
|
||||||
* + It's flag bits are set to GUC_DISALLOW_IN_FILE
|
|
||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
displayStruct(mixedStruct *structToDisplay)
|
displayStruct(mixedStruct *structToDisplay)
|
||||||
{
|
{
|
||||||
if (structToDisplay->generic.flags & (GUC_NO_SHOW_ALL |
|
return !(structToDisplay->generic.flags & (GUC_NO_SHOW_ALL |
|
||||||
GUC_NOT_IN_SAMPLE |
|
GUC_NOT_IN_SAMPLE |
|
||||||
GUC_DISALLOW_IN_FILE))
|
GUC_DISALLOW_IN_FILE));
|
||||||
return false;
|
|
||||||
else
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Used to determine if a variable matches the user's specifications (stored in
|
|
||||||
* global variables). Returns true if this particular variable information should
|
|
||||||
* be returned to the user.
|
|
||||||
*/
|
|
||||||
static bool
|
|
||||||
varMatches(mixedStruct *structToTest)
|
|
||||||
{
|
|
||||||
bool matches = false;
|
|
||||||
bool specificSearch = false; /* This is true if the user
|
|
||||||
* searched for a variable in
|
|
||||||
* particular. */
|
|
||||||
|
|
||||||
if (nameString != NULL)
|
|
||||||
{
|
|
||||||
if (strstr(structToTest->generic.name, nameString) != NULL)
|
|
||||||
{
|
|
||||||
matches = true;
|
|
||||||
specificSearch = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (groupString != NULL)
|
|
||||||
{
|
|
||||||
if (strstr(config_group_names[structToTest->generic.group], groupString) != NULL)
|
|
||||||
{
|
|
||||||
if (nameString != NULL)
|
|
||||||
matches = (matches && true);
|
|
||||||
else
|
|
||||||
matches = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
matches = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* return all variables */
|
|
||||||
if (nameString == NULL && groupString == NULL)
|
|
||||||
matches = true;
|
|
||||||
|
|
||||||
if (specificSearch)
|
|
||||||
return matches;
|
|
||||||
else
|
|
||||||
return matches && displayStruct(structToTest);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -312,94 +83,45 @@ varMatches(mixedStruct *structToTest)
|
|||||||
static void
|
static void
|
||||||
printMixedStruct(mixedStruct *structToPrint)
|
printMixedStruct(mixedStruct *structToPrint)
|
||||||
{
|
{
|
||||||
printGenericHead(structToPrint->generic);
|
printf("%s\t%s\t%s\t",
|
||||||
|
structToPrint->generic.name,
|
||||||
|
GucContext_Names[structToPrint->generic.context],
|
||||||
|
gettext(config_group_names[structToPrint->generic.group]));
|
||||||
|
|
||||||
switch (structToPrint->generic.vartype)
|
switch (structToPrint->generic.vartype)
|
||||||
{
|
{
|
||||||
|
|
||||||
case PGC_BOOL:
|
case PGC_BOOL:
|
||||||
if (outFormat == HUMAN_OUTPUT)
|
printf("BOOLEAN\t%s\t\t\t",
|
||||||
printf(gettext(BOOL_FORMAT[outFormat]),
|
(structToPrint->bool.reset_val == 0) ?
|
||||||
(structToPrint->bool.reset_val == 0) ?
|
"FALSE" : "TRUE");
|
||||||
gettext("false") : gettext("true"));
|
|
||||||
else
|
|
||||||
printf(gettext(BOOL_FORMAT[outFormat]),
|
|
||||||
(structToPrint->bool.reset_val == 0) ?
|
|
||||||
"FALSE" : "TRUE");
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PGC_INT:
|
case PGC_INT:
|
||||||
printf(gettext(INT_FORMAT[outFormat]),
|
printf("INTEGER\t%d\t%d\t%d\t",
|
||||||
structToPrint->integer.reset_val,
|
structToPrint->integer.reset_val,
|
||||||
structToPrint->integer.min,
|
structToPrint->integer.min,
|
||||||
structToPrint->integer.max);
|
structToPrint->integer.max);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PGC_REAL:
|
case PGC_REAL:
|
||||||
printf(gettext(REAL_FORMAT[outFormat]),
|
printf("REAL\t%g\t%g\t%g\t",
|
||||||
structToPrint->real.reset_val,
|
structToPrint->real.reset_val,
|
||||||
structToPrint->real.min,
|
structToPrint->real.min,
|
||||||
structToPrint->real.max);
|
structToPrint->real.max);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PGC_STRING:
|
case PGC_STRING:
|
||||||
printf(gettext(STRING_FORMAT[outFormat]),
|
printf("STRING\t%s\t\t\t",
|
||||||
structToPrint->string.boot_val);
|
structToPrint->string.boot_val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf("Internal error: unrecognized run-time parameter type\n");
|
fprintf(stderr, "internal error: unrecognized run-time parameter type\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
printGenericFoot(structToPrint->generic);
|
printf("%s\t%s\n",
|
||||||
}
|
(structToPrint->generic.short_desc == NULL) ? "" : gettext(structToPrint->generic.short_desc),
|
||||||
|
(structToPrint->generic.long_desc == NULL) ? "" : gettext(structToPrint->generic.long_desc));
|
||||||
static void
|
|
||||||
printGenericHead(struct config_generic structToPrint)
|
|
||||||
{
|
|
||||||
printf(gettext(GENERIC_FORMAT[outFormat]),
|
|
||||||
structToPrint.name,
|
|
||||||
GucContext_Names[structToPrint.context],
|
|
||||||
gettext(config_group_names[structToPrint.group]));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
printGenericFoot(struct config_generic sPrint)
|
|
||||||
{
|
|
||||||
printf(gettext(GENERIC_DESC[outFormat]),
|
|
||||||
(sPrint.short_desc == NULL) ? "" : gettext(sPrint.short_desc),
|
|
||||||
(sPrint.long_desc == NULL) ? "" : gettext(sPrint.long_desc));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
listAllGroups(void)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; config_group_names[i] != NULL; i++)
|
|
||||||
printf("%s\n", gettext(config_group_names[i]));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
helpMessage(const char *progname)
|
|
||||||
{
|
|
||||||
printf(gettext("%s --help-config displays information about the\n"
|
|
||||||
"run-time configuration parameters available in the PostgreSQL server.\n\n"),
|
|
||||||
progname);
|
|
||||||
printf(gettext("Usage:\n %s --help-config [OPTION]... [NAME]\n\n"), progname);
|
|
||||||
printf(gettext("General Options:\n"));
|
|
||||||
printf(gettext(" NAME output information about parameters matching this name\n"));
|
|
||||||
printf(gettext(" -g GROUP output information about parameters matching this group\n"));
|
|
||||||
printf(gettext(" -l list available parameter groups\n"));
|
|
||||||
printf(gettext(" -h show this help, then exit\n"));
|
|
||||||
printf(gettext("\nOutput Options:\n"));
|
|
||||||
printf(gettext(" -G do not group by category\n"));
|
|
||||||
printf(gettext(" -m machine-friendly format: tab separated fields\n"));
|
|
||||||
printf(gettext(" -M same as -m, but header with column names is suppressed\n"));
|
|
||||||
printf(gettext("\n"
|
|
||||||
"If no parameter name is specified, all parameters are shown. By default,\n"
|
|
||||||
"parameters are grouped by category, sorted by name, and output in a human-\n"
|
|
||||||
"friendly format. Available information about run-time parameters includes\n"
|
|
||||||
"a short description, default value, maximum and minimum values.\n"));
|
|
||||||
}
|
}
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
*
|
*
|
||||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* $Id: help_config.h,v 1.3 2003/08/04 02:40:15 momjian Exp $
|
* $Id: help_config.h,v 1.4 2003/10/18 22:59:09 petere Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
#ifndef HELP_CONFIG_H
|
#ifndef HELP_CONFIG_H
|
||||||
#define HELP_CONFIG_H 1
|
#define HELP_CONFIG_H 1
|
||||||
|
|
||||||
extern int GucInfoMain(int argc, char *argv[]);
|
extern int GucInfoMain(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user