Thread: Re: [HACKERS] GUC and postgresql.conf docs

Re: [HACKERS] GUC and postgresql.conf docs

From
Bruce Momjian
Date:
I have developed the following patch to address these issues.  I have
removed the lock GUC settings from postgresql.conf, as suggested.  (They
aren't even enabled in the general builds.)

I also added comments to guc.c to indicate settings that shouldn't be in
postgresql.conf so we have a record of why they are not in there.

All the other mentioned items have already been dealt with.

---------------------------------------------------------------------------

Tom Lane wrote:
> Josh Berkus <josh@agliodbs.com> writes:
> > GUC Options with no documentation:
> > The following options exist in postgresql.conf.sample and in guc.c but not in
> > the online documenation anywhere the search box can find:
>
> > trace_locks
> > trace_userlocks
> > trace_lwlocks
> > debug_deadlocks
> > trace_lock_oidmin
> > trace_lock_table
> > show_btree_build_stats
>
> These are all debugging options that probably don't need to be in the
> user documentation (ie, if you aren't familiar enough with the source
> code to find out about 'em from there, you do not need them and should
> probably not be messing with 'em --- in fact, many of them don't even
> exist except in specially-hacked builds).  I'd vote for taking them out
> of postgresql.conf.sample, I think.
>
> > The following four GUC variables are defined in guc.c, but are not included in
> > postgresql.conf.sample, and do not show up in the online docs under anything
> > I can search on.  Do they do anything?  If so, what?
>
> > {"fixbtree", PGC_POSTMASTER}, &FixBTree,
> >         true, NULL, NULL
>
> This one is gone anyway in CVS tip.
>
> > {"pre_auth_delay", PGC_SIGHUP}, &PreAuthDelay,
> >         0, 0, 60, NULL, NULL
>
> This is another debugging option of rather questionable general
> usefulness.
>
> > {"server_encoding", PGC_USERSET}, &server_encoding_string,
> >         "SQL_ASCII", assign_server_encoding, show_server_encoding
>
> I'm not sure why this one is marked PGC_USERSET --- seems like it should
> not be possible to override it from SET.  It should be documented as a
> read-only option, I think.  (Looks ... actually it is set up that way
> in CVS tip.)
>
> > {"session_authorization", PGC_USERSET, GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL},
> >         &session_authorization_string,
> >         NULL, assign_session_authorization, show_session_authorization
>
> This one makes no sense to set in postgresql.conf, certainly.  Not sure
> how the docs ought to describe it.
>
> > These four related settings are defined guc's that somehow made it into the
> > docs but not into postgresql.conf.sample:
>
> > {"lc_messages", PGC_SUSET}, &locale_messages,
> > "", locale_messages_assign, NULL
> > {"lc_monetary", PGC_USERSET}, &locale_monetary,
> > "C", locale_monetary_assign, NULL
> > {"lc_numeric", PGC_USERSET}, &locale_numeric,
> > "C", locale_numeric_assign, NULL
> > {"lc_time", PGC_USERSET}, &locale_time,
> > "C", locale_time_assign, NULL
>
> These guys are added to postgresql.conf by initdb, so I think that's
> okay.  But perhaps that process could be documented better.
>
>             regards, tom lane
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/backend/utils/misc/guc.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/misc/guc.c,v
retrieving revision 1.127
diff -c -c -r1.127 guc.c
*** src/backend/utils/misc/guc.c    28 May 2003 18:19:09 -0000    1.127
--- src/backend/utils/misc/guc.c    2 Jun 2003 16:03:20 -0000
***************
*** 689,694 ****
--- 689,695 ----
          60, 1, 600, NULL, NULL
      },

+     /* Not for general use */
      {
          {"pre_auth_delay", PGC_SIGHUP}, &PreAuthDelay,
          0, 0, 60, NULL, NULL
***************
*** 871,876 ****
--- 872,878 ----
          "$user,public", assign_search_path, NULL
      },

+     /* Can't be set in postgresql.conf */
      {
          {"server_encoding", PGC_INTERNAL, GUC_REPORT},
          &server_encoding_string,
***************
*** 888,893 ****
--- 890,896 ----
          "notice", assign_log_min_messages, NULL
      },

+     /* Not for general use --- used by SET SESSION AUTHORIZATION */
      {
          {"session_authorization", PGC_USERSET, GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL},
          &session_authorization_string,
Index: src/backend/utils/misc/postgresql.conf.sample
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/misc/postgresql.conf.sample,v
retrieving revision 1.78
diff -c -c -r1.78 postgresql.conf.sample
*** src/backend/utils/misc/postgresql.conf.sample    14 May 2003 03:26:02 -0000    1.78
--- src/backend/utils/misc/postgresql.conf.sample    2 Jun 2003 16:03:20 -0000
***************
*** 182,201 ****


  #
- #    Lock Tracing
- #
- #trace_notify = false
-
- # requires LOCK_DEBUG
- #trace_locks = false
- #trace_userlocks = false
- #trace_lwlocks = false
- #debug_deadlocks = false
- #trace_lock_oidmin = 16384
- #trace_lock_table = 0
-
-
- #
  #    Misc
  #
  #dynamic_library_path = '$libdir'
--- 182,187 ----