*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.221 2001/06/16 22:58:12 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.222 2001/06/18 23:42:32 momjian Exp $
*
* NOTES
*
#ifndef USE_ASSERT_CHECKING
postmaster_error("Assert checking is not compiled in.");
#else
- assert_enabled = atoi(optarg);
+ SetConfigOption("debug_assertions", optarg, PGC_POSTMASTER, true);
#endif
break;
case 'a':
/* Can no longer set authentication method. */
break;
case 'B':
- NBuffers = atoi(optarg);
+ SetConfigOption("shared_buffers", optarg, PGC_POSTMASTER, true);
break;
case 'b':
/* Can no longer set the backend executable file to use. */
* Turn on debugging for the postmaster and the backend
* servers descended from it.
*/
- DebugLvl = atoi(optarg);
+ SetConfigOption("debug_level", optarg, PGC_POSTMASTER, true);
break;
case 'F':
- enableFsync = false;
+ SetConfigOption("enable_fsync", optarg, PGC_POSTMASTER, true);
break;
case 'h':
- VirtualHost = optarg;
+ SetConfigOption("virtual_host", optarg, PGC_POSTMASTER, true);
break;
case 'i':
- NetServer = true;
+ SetConfigOption("tcpip_socket", optarg, PGC_POSTMASTER, true);
break;
case 'k':
- UnixSocketDir = optarg;
+ SetConfigOption("unix_socket_directory", optarg, PGC_POSTMASTER, true);
break;
#ifdef USE_SSL
case 'l':
- EnableSSL = true;
+ SetConfigOption("ssl", optarg, PGC_POSTMASTER, true);
break;
#endif
case 'm':
* The max number of backends to start. Can't set to less
* than 1 or more than compiled-in limit.
*/
- MaxBackends = atoi(optarg);
- if (MaxBackends < 1)
- MaxBackends = 1;
- if (MaxBackends > MAXBACKENDS)
- MaxBackends = MAXBACKENDS;
+ SetConfigOption("max_connections", optarg, PGC_POSTMASTER, true);
break;
case 'n':
/* Don't reinit shared mem after abnormal exit */
strcpy(original_extraoptions, optarg);
break;
case 'p':
- PostPortNumber = atoi(optarg);
+ SetConfigOption("port", optarg, PGC_POSTMASTER, true);
break;
case 'S':
* it's most badly needed on SysV-derived systems like
* SVR4 and HP-UX.
*/
- SilentMode = true;
+ SetConfigOption("silent_mode", optarg, PGC_POSTMASTER, true);
break;
case 's':
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.220 2001/06/12 22:54:06 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.221 2001/06/18 23:42:32 momjian Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
const char *DBName = NULL;
bool secure = true;
int errs = 0;
+ GucContext ctx;
+ char *tmp;
int firstchar;
StringInfo parser_input;
char *potential_DataDir = NULL;
+ /* all options are allowed if not under postmaster */
+ ctx = IsUnderPostmaster ? PGC_BACKEND : PGC_POSTMASTER;
+
/*
* Catch standard options before doing much else. This even works on
* systems without getopt_long.
{
case 'A':
#ifdef USE_ASSERT_CHECKING
- assert_enabled = atoi(optarg);
+ SetConfigOption("debug_assertions", optarg, ctx, true);
#else
fprintf(stderr, "Assert checking is not compiled in\n");
#endif
* specify the size of buffer pool
*/
if (secure)
- NBuffers = atoi(optarg);
+ SetConfigOption("shared_buffers", optarg, ctx, true);
break;
case 'C':
break;
case 'd': /* debug level */
- DebugLvl = atoi(optarg);
+ tmp = "true";
+ SetConfigOption("debug_level", optarg, ctx, true);
if (DebugLvl >= 1);
- Log_connections = true;
+ SetConfigOption("log_connections", tmp, ctx, true);
if (DebugLvl >= 2)
- Debug_print_query = true;
+ SetConfigOption("debug_print_query", tmp, ctx, true);
if (DebugLvl >= 3)
- Debug_print_parse = true;
+ SetConfigOption("debug_print_parse", tmp, ctx, true);
if (DebugLvl >= 4)
- Debug_print_plan = true;
+ SetConfigOption("debug_print_plan", tmp, ctx, true);
if (DebugLvl >= 5)
- Debug_print_rewritten = true;
+ SetConfigOption("debug_print_rewritten", tmp, ctx, true);
break;
case 'E':
* turn off fsync
*/
if (secure)
- enableFsync = false;
+ SetConfigOption("fsync", "true", ctx, true);
break;
case 'f':
/*
* f - forbid generation of certain plans
*/
+ tmp = NULL;
switch (optarg[0])
{
case 's': /* seqscan */
- enable_seqscan = false;
+ tmp = "enable_seqscan";
break;
case 'i': /* indexscan */
- enable_indexscan = false;
+ tmp = "enable_indexscan";
break;
case 't': /* tidscan */
- enable_tidscan = false;
+ tmp = "enable_tidscan";
break;
case 'n': /* nestloop */
- enable_nestloop = false;
+ tmp = "enable_nestloop";
break;
case 'm': /* mergejoin */
- enable_mergejoin = false;
+ tmp = "enable_mergejoin";
break;
case 'h': /* hashjoin */
- enable_hashjoin = false;
+ tmp = "enable_hashjoin";
break;
default:
errs++;
}
+ if (tmp)
+ SetConfigOption(tmp, "false", ctx, true);
break;
case 'i':
/*
* S - amount of sort memory to use in 1k bytes
*/
- {
- int S;
-
- S = atoi(optarg);
- if (S >= 4 * BLCKSZ / 1024)
- SortMem = S;
- }
+ SetConfigOption("sort_mem", optarg, ctx, true);
break;
case 's':
/*
* s - report usage statistics (timings) after each query
*/
- Show_query_stats = 1;
+ SetConfigOption("show_query_stats", optarg, ctx, true);
break;
case 't':
* caution: -s can not be used together with -t.
* ----------------
*/
+ tmp = NULL;
switch (optarg[0])
{
case 'p':
if (optarg[1] == 'a')
- Show_parser_stats = 1;
+ tmp = "show_parser_stats";
else if (optarg[1] == 'l')
- Show_planner_stats = 1;
+ tmp = "show_planner_stats";
else
errs++;
break;
case 'e':
- Show_executor_stats = 1;
+ tmp = "show_parser_stats";
break;
default:
errs++;
break;
}
+ if (tmp)
+ SetConfigOption(tmp, "true", ctx, true);
break;
case 'v':
elog(ERROR, "-c %s requires argument", optarg);
}
- /* all options are allowed if not under postmaster */
- SetConfigOption(name, value,
- (IsUnderPostmaster) ? PGC_BACKEND : PGC_POSTMASTER, true);
+ SetConfigOption(name, value, ctx, true);
free(name);
if (value)
free(value);
if (!IsUnderPostmaster)
{
puts("\nPOSTGRES backend interactive interface ");
- puts("$Revision: 1.220 $ $Date: 2001/06/12 22:54:06 $\n");
+ puts("$Revision: 1.221 $ $Date: 2001/06/18 23:42:32 $\n");
}
/*
* Support for grand unified configuration scheme, including SET
* command, configuration file, and command line options.
*
- * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.39 2001/06/18 16:14:43 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.40 2001/06/18 23:42:32 momjian Exp $
*
* Copyright 2000 by PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>.
DEF_PGPORT, 1, 65535, NULL, NULL},
{"sort_mem", PGC_USERSET, &SortMem,
- 512, 1, INT_MAX, NULL, NULL},
+ 512, 4*BLCKSZ/1024, INT_MAX, NULL, NULL},
{"debug_level", PGC_USERSET, &DebugLvl,
0, 0, 16, NULL, NULL},