? config.log ? config.cache ? config.status ? GNUmakefile ? contrib/retep/build ? contrib/retep/jars ? doc/src/sgml/ln8.html ? doc/src/sgml/bookindex.sgml ? doc/src/sgml/setindex.sgml ? doc/src/sgml/reference.html ? doc/src/sgml/sql-commands.html ? doc/src/sgml/app-pgdump.html ? doc/src/sgml/sql-abort.html ? doc/src/sgml/sql-altergroup.html ? doc/src/sgml/sql-altertable.html ? doc/src/sgml/sql-alteruser.html ? doc/src/sgml/sql-analyze.html ? doc/src/sgml/sql-begin.html ? doc/src/sgml/sql-checkpoint.html ? doc/src/sgml/sql-close.html ? doc/src/sgml/sql-cluster.html ? doc/src/sgml/sql-comment.html ? doc/src/sgml/sql-commit.html ? doc/src/sgml/sql-copy.html ? doc/src/sgml/sql-createaggregate.html ? doc/src/sgml/sql-createconstraint.html ? doc/src/sgml/sql-createdatabase.html ? doc/src/sgml/sql-createfunction.html ? doc/src/sgml/sql-creategroup.html ? doc/src/sgml/sql-createindex.html ? doc/src/sgml/sql-createlanguage.html ? doc/src/sgml/sql-createoperator.html ? doc/src/sgml/sql-createrule.html ? doc/src/sgml/sql-createsequence.html ? doc/src/sgml/sql-createtable.html ? doc/src/sgml/sql-createtableas.html ? doc/src/sgml/HTML.index ? doc/src/sgml/sql-createtrigger.html ? doc/src/sgml/sql-createtype.html ? doc/src/sgml/sql-createuser.html ? doc/src/sgml/sql-createview.html ? doc/src/sgml/sql-declare.html ? doc/src/sgml/sql-delete.html ? doc/src/sgml/sql-dropaggregate.html ? doc/src/sgml/sql-dropdatabase.html ? doc/src/sgml/sql-dropfunction.html ? doc/src/sgml/sql-dropgroup.html ? doc/src/sgml/sql-dropindex.html ? doc/src/sgml/sql-droplanguage.html ? doc/src/sgml/sql-dropoperator.html ? doc/src/sgml/sql-droprule.html ? doc/src/sgml/sql-dropsequence.html ? doc/src/sgml/sql-droptable.html ? doc/src/sgml/sql-droptrigger.html ? doc/src/sgml/sql-droptype.html ? doc/src/sgml/sql-dropuser.html ? doc/src/sgml/sql-dropview.html ? doc/src/sgml/sql-end.html ? doc/src/sgml/sql-explain.html ? doc/src/sgml/sql-fetch.html ? doc/src/sgml/sql-grant.html ? doc/src/sgml/sql-insert.html ? doc/src/sgml/sql-listen.html ? doc/src/sgml/sql-load.html ? doc/src/sgml/sql-lock.html ? doc/src/sgml/sql-move.html ? doc/src/sgml/sql-notify.html ? doc/src/sgml/sql-reindex.html ? doc/src/sgml/sql-reset.html ? doc/src/sgml/sql-revoke.html ? doc/src/sgml/sql-rollback.html ? doc/src/sgml/sql-select.html ? doc/src/sgml/sql-selectinto.html ? doc/src/sgml/sql-set.html ? doc/src/sgml/sql-set-constraints.html ? doc/src/sgml/sql-set-session-authorization.html ? doc/src/sgml/sql-set-transaction.html ? doc/src/sgml/sql-show.html ? doc/src/sgml/sql-truncate.html ? doc/src/sgml/sql-unlisten.html ? doc/src/sgml/sql-update.html ? doc/src/sgml/sql-vacuum.html ? doc/src/sgml/reference-client.html ? doc/src/sgml/app-createdb.html ? doc/src/sgml/app-createuser.html ? doc/src/sgml/app-dropdb.html ? doc/src/sgml/app-dropuser.html ? doc/src/sgml/app-ecpg.html ? doc/src/sgml/app-pgaccess.html ? doc/src/sgml/app-pgconfig.html ? doc/src/sgml/app-pg-dumpall.html ? doc/src/sgml/app-pgrestore.html ? doc/src/sgml/app-psql.html ? doc/src/sgml/app-pgtclsh.html ? doc/src/sgml/app-pgtksh.html ? doc/src/sgml/app-vacuumdb.html ? doc/src/sgml/reference-server.html ? doc/src/sgml/app-createlang.html ? doc/src/sgml/app-droplang.html ? doc/src/sgml/app-initdb.html ? doc/src/sgml/app-initlocation.html ? doc/src/sgml/app-ipcclean.html ? doc/src/sgml/app-pg-ctl.html ? doc/src/sgml/app-pg-passwd.html ? doc/src/sgml/app-postgres.html ? doc/src/sgml/app-postmaster.html ? src/GNUmakefile ? src/Makefile.custom ? src/Makefile.global ? src/crtags ? src/log ? src/backend/postgres ? src/backend/catalog/global.description ? src/backend/catalog/global.bki ? src/backend/catalog/template1.bki ? src/backend/catalog/template1.description ? src/backend/catalog/postgres.bki ? src/backend/catalog/postgres.description ? src/backend/port/Makefile ? src/backend/postmaster/ttypb ? src/bin/initdb/initdb ? src/bin/initlocation/initlocation ? src/bin/ipcclean/ipcclean ? src/bin/pg_config/pg_config ? src/bin/pg_ctl/pg_ctl ? src/bin/pg_dump/pg_dump ? src/bin/pg_dump/pg_restore ? src/bin/pg_dump/pg_dumpall ? src/bin/pg_id/pg_id ? src/bin/pg_passwd/pg_passwd ? src/bin/pgaccess/pgaccess ? src/bin/pgaccess/doc/html/tutorial/x ? src/bin/pgtclsh/pgtclsh ? src/bin/pgtclsh/pgtksh ? src/bin/pgtclsh/Makefile.tkdefs ? src/bin/pgtclsh/Makefile.tcldefs ? src/bin/psql/psql ? src/bin/scripts/createlang ? src/include/config.h ? src/include/stamp-h ? src/interfaces/ecpg/lib/libecpg.so.3.3.0 ? src/interfaces/ecpg/preproc/ecpg ? src/interfaces/jdbc/build ? src/interfaces/jdbc/jars ? src/interfaces/jdbc/org/postgresql/Driver.java ? src/interfaces/libpgeasy/libpgeasy.so.2.2 ? src/interfaces/libpgtcl/libpgtcl.so.2.2 ? src/interfaces/libpq/libpq.so.2.2 ? src/interfaces/odbc/libpsqlodbc.so.0.27 ? src/interfaces/perl5/blib ? src/interfaces/perl5/pm_to_blib ? src/interfaces/perl5/Makefile ? src/interfaces/perl5/Pg.c ? src/interfaces/perl5/Pg.bs ? src/interfaces/python/Setup ? src/interfaces/python/Setup.in ? src/interfaces/python/Makefile.pre.in ? src/interfaces/python/sedscript ? src/interfaces/python/Makefile.pre ? src/interfaces/python/config.c ? src/interfaces/python/Makefile ? src/pl/plperl/blib ? src/pl/plperl/Makefile ? src/pl/plperl/pm_to_blib ? src/pl/plperl/SPI.c ? src/pl/plperl/plperl.bs ? src/pl/plpgsql/src/libplpgsql.so.1.0 ? src/pl/tcl/Makefile.tcldefs ? src/pl/tcl/modules/pltcl_loadmod ? src/pl/tcl/modules/pltcl_delmod ? src/pl/tcl/modules/pltcl_listmod Index: src/backend/postmaster/postmaster.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/postmaster/postmaster.c,v retrieving revision 1.221 retrieving revision 1.222 diff -c -r1.221 -r1.222 *** src/backend/postmaster/postmaster.c 2001/06/16 22:58:12 1.221 --- src/backend/postmaster/postmaster.c 2001/06/18 23:42:32 1.222 *************** *** 28,34 **** * * * IDENTIFICATION ! * $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.221 2001/06/16 22:58:12 tgl Exp $ * * NOTES * --- 28,34 ---- * * * IDENTIFICATION ! * $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.222 2001/06/18 23:42:32 momjian Exp $ * * NOTES * *************** *** 426,439 **** #ifndef USE_ASSERT_CHECKING postmaster_error("Assert checking is not compiled in."); #else ! assert_enabled = atoi(optarg); #endif break; case 'a': /* Can no longer set authentication method. */ break; case 'B': ! NBuffers = atoi(optarg); break; case 'b': /* Can no longer set the backend executable file to use. */ --- 426,439 ---- #ifndef USE_ASSERT_CHECKING postmaster_error("Assert checking is not compiled in."); #else ! SetConfigOption("debug_assertions", optarg, PGC_POSTMASTER, true); #endif break; case 'a': /* Can no longer set authentication method. */ break; case 'B': ! SetConfigOption("shared_buffers", optarg, PGC_POSTMASTER, true); break; case 'b': /* Can no longer set the backend executable file to use. */ *************** *** 447,469 **** * Turn on debugging for the postmaster and the backend * servers descended from it. */ ! DebugLvl = atoi(optarg); break; case 'F': ! enableFsync = false; break; case 'h': ! VirtualHost = optarg; break; case 'i': ! NetServer = true; break; case 'k': ! UnixSocketDir = optarg; break; #ifdef USE_SSL case 'l': ! EnableSSL = true; break; #endif case 'm': --- 447,469 ---- * Turn on debugging for the postmaster and the backend * servers descended from it. */ ! SetConfigOption("debug_level", optarg, PGC_POSTMASTER, true); break; case 'F': ! SetConfigOption("enable_fsync", optarg, PGC_POSTMASTER, true); break; case 'h': ! SetConfigOption("virtual_host", optarg, PGC_POSTMASTER, true); break; case 'i': ! SetConfigOption("tcpip_socket", optarg, PGC_POSTMASTER, true); break; case 'k': ! SetConfigOption("unix_socket_directory", optarg, PGC_POSTMASTER, true); break; #ifdef USE_SSL case 'l': ! SetConfigOption("ssl", optarg, PGC_POSTMASTER, true); break; #endif case 'm': *************** *** 483,493 **** * 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; break; case 'n': /* Don't reinit shared mem after abnormal exit */ --- 483,489 ---- * The max number of backends to start. Can't set to less * than 1 or more than compiled-in limit. */ ! SetConfigOption("max_connections", optarg, PGC_POSTMASTER, true); break; case 'n': /* Don't reinit shared mem after abnormal exit */ *************** *** 504,510 **** strcpy(original_extraoptions, optarg); break; case 'p': ! PostPortNumber = atoi(optarg); break; case 'S': --- 500,506 ---- strcpy(original_extraoptions, optarg); break; case 'p': ! SetConfigOption("port", optarg, PGC_POSTMASTER, true); break; case 'S': *************** *** 514,520 **** * it's most badly needed on SysV-derived systems like * SVR4 and HP-UX. */ ! SilentMode = true; break; case 's': --- 510,516 ---- * it's most badly needed on SysV-derived systems like * SVR4 and HP-UX. */ ! SetConfigOption("silent_mode", optarg, PGC_POSTMASTER, true); break; case 's': Index: src/backend/tcop/postgres.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/tcop/postgres.c,v retrieving revision 1.220 retrieving revision 1.221 diff -c -r1.220 -r1.221 *** src/backend/tcop/postgres.c 2001/06/12 22:54:06 1.220 --- src/backend/tcop/postgres.c 2001/06/18 23:42:32 1.221 *************** *** 8,14 **** * * * IDENTIFICATION ! * $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.220 2001/06/12 22:54:06 tgl Exp $ * * NOTES * this is the "main" module of the postgres backend and --- 8,14 ---- * * * IDENTIFICATION ! * $Header: /home/projects/pgsql/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 *************** *** 1108,1113 **** --- 1108,1115 ---- const char *DBName = NULL; bool secure = true; int errs = 0; + GucContext ctx; + char *tmp; int firstchar; StringInfo parser_input; *************** *** 1117,1122 **** --- 1119,1127 ---- 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. *************** *** 1188,1194 **** { case 'A': #ifdef USE_ASSERT_CHECKING ! assert_enabled = atoi(optarg); #else fprintf(stderr, "Assert checking is not compiled in\n"); #endif --- 1193,1199 ---- { case 'A': #ifdef USE_ASSERT_CHECKING ! SetConfigOption("debug_assertions", optarg, ctx, true); #else fprintf(stderr, "Assert checking is not compiled in\n"); #endif *************** *** 1200,1206 **** * specify the size of buffer pool */ if (secure) ! NBuffers = atoi(optarg); break; case 'C': --- 1205,1211 ---- * specify the size of buffer pool */ if (secure) ! SetConfigOption("shared_buffers", optarg, ctx, true); break; case 'C': *************** *** 1217,1233 **** break; case 'd': /* debug level */ ! DebugLvl = atoi(optarg); if (DebugLvl >= 1); ! Log_connections = true; if (DebugLvl >= 2) ! Debug_print_query = true; if (DebugLvl >= 3) ! Debug_print_parse = true; if (DebugLvl >= 4) ! Debug_print_plan = true; if (DebugLvl >= 5) ! Debug_print_rewritten = true; break; case 'E': --- 1222,1239 ---- break; case 'd': /* debug level */ ! tmp = "true"; ! SetConfigOption("debug_level", optarg, ctx, true); if (DebugLvl >= 1); ! SetConfigOption("log_connections", tmp, ctx, true); if (DebugLvl >= 2) ! SetConfigOption("debug_print_query", tmp, ctx, true); if (DebugLvl >= 3) ! SetConfigOption("debug_print_parse", tmp, ctx, true); if (DebugLvl >= 4) ! SetConfigOption("debug_print_plan", tmp, ctx, true); if (DebugLvl >= 5) ! SetConfigOption("debug_print_rewritten", tmp, ctx, true); break; case 'E': *************** *** 1252,1258 **** * turn off fsync */ if (secure) ! enableFsync = false; break; case 'f': --- 1258,1264 ---- * turn off fsync */ if (secure) ! SetConfigOption("fsync", "true", ctx, true); break; case 'f': *************** *** 1260,1288 **** /* * f - forbid generation of certain plans */ switch (optarg[0]) { case 's': /* seqscan */ ! enable_seqscan = false; break; case 'i': /* indexscan */ ! enable_indexscan = false; break; case 't': /* tidscan */ ! enable_tidscan = false; break; case 'n': /* nestloop */ ! enable_nestloop = false; break; case 'm': /* mergejoin */ ! enable_mergejoin = false; break; case 'h': /* hashjoin */ ! enable_hashjoin = false; break; default: errs++; } break; case 'i': --- 1266,1297 ---- /* * f - forbid generation of certain plans */ + tmp = NULL; switch (optarg[0]) { case 's': /* seqscan */ ! tmp = "enable_seqscan"; break; case 'i': /* indexscan */ ! tmp = "enable_indexscan"; break; case 't': /* tidscan */ ! tmp = "enable_tidscan"; break; case 'n': /* nestloop */ ! tmp = "enable_nestloop"; break; case 'm': /* mergejoin */ ! tmp = "enable_mergejoin"; break; case 'h': /* hashjoin */ ! tmp = "enable_hashjoin"; break; default: errs++; } + if (tmp) + SetConfigOption(tmp, "false", ctx, true); break; case 'i': *************** *** 1352,1364 **** /* * S - amount of sort memory to use in 1k bytes */ ! { ! int S; ! ! S = atoi(optarg); ! if (S >= 4 * BLCKSZ / 1024) ! SortMem = S; ! } break; case 's': --- 1361,1367 ---- /* * S - amount of sort memory to use in 1k bytes */ ! SetConfigOption("sort_mem", optarg, ctx, true); break; case 's': *************** *** 1366,1372 **** /* * s - report usage statistics (timings) after each query */ ! Show_query_stats = 1; break; case 't': --- 1369,1375 ---- /* * s - report usage statistics (timings) after each query */ ! SetConfigOption("show_query_stats", optarg, ctx, true); break; case 't': *************** *** 1380,1402 **** * caution: -s can not be used together with -t. * ---------------- */ switch (optarg[0]) { case 'p': if (optarg[1] == 'a') ! Show_parser_stats = 1; else if (optarg[1] == 'l') ! Show_planner_stats = 1; else errs++; break; case 'e': ! Show_executor_stats = 1; break; default: errs++; break; } break; case 'v': --- 1383,1408 ---- * caution: -s can not be used together with -t. * ---------------- */ + tmp = NULL; switch (optarg[0]) { case 'p': if (optarg[1] == 'a') ! tmp = "show_parser_stats"; else if (optarg[1] == 'l') ! tmp = "show_planner_stats"; else errs++; break; case 'e': ! tmp = "show_parser_stats"; break; default: errs++; break; } + if (tmp) + SetConfigOption(tmp, "true", ctx, true); break; case 'v': *************** *** 1460,1468 **** elog(ERROR, "-c %s requires argument", optarg); } ! /* all options are allowed if not under postmaster */ ! SetConfigOption(name, value, ! (IsUnderPostmaster) ? PGC_BACKEND : PGC_POSTMASTER, true); free(name); if (value) free(value); --- 1466,1472 ---- elog(ERROR, "-c %s requires argument", optarg); } ! SetConfigOption(name, value, ctx, true); free(name); if (value) free(value); *************** *** 1709,1715 **** if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); ! puts("$Revision: 1.220 $ $Date: 2001/06/12 22:54:06 $\n"); } /* --- 1713,1719 ---- if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); ! puts("$Revision: 1.221 $ $Date: 2001/06/18 23:42:32 $\n"); } /* Index: src/backend/utils/misc/guc.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/misc/guc.c,v retrieving revision 1.39 retrieving revision 1.40 diff -c -r1.39 -r1.40 *** src/backend/utils/misc/guc.c 2001/06/18 16:14:43 1.39 --- src/backend/utils/misc/guc.c 2001/06/18 23:42:32 1.40 *************** *** 4,10 **** * Support for grand unified configuration scheme, including SET * command, configuration file, and command line options. * ! * $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.39 2001/06/18 16:14:43 momjian Exp $ * * Copyright 2000 by PostgreSQL Global Development Group * Written by Peter Eisentraut . --- 4,10 ---- * Support for grand unified configuration scheme, including SET * command, configuration file, and command line options. * ! * $Header: /home/projects/pgsql/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 . *************** *** 276,282 **** DEF_PGPORT, 1, 65535, NULL, NULL}, {"sort_mem", PGC_USERSET, &SortMem, ! 512, 1, INT_MAX, NULL, NULL}, {"debug_level", PGC_USERSET, &DebugLvl, 0, 0, 16, NULL, NULL}, --- 276,282 ---- DEF_PGPORT, 1, 65535, NULL, NULL}, {"sort_mem", PGC_USERSET, &SortMem, ! 512, 4*BLCKSZ/1024, INT_MAX, NULL, NULL}, {"debug_level", PGC_USERSET, &DebugLvl, 0, 0, 16, NULL, NULL},