Re: use GUC for cmdline - Mailing list pgsql-patches

From Marko Kreen
Subject Re: use GUC for cmdline
Date
Msg-id 20010622002750.A11926@l-t.ee
Whole thread Raw
In response to Re: use GUC for cmdline  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: use GUC for cmdline  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
On Wed, Jun 20, 2001 at 05:43:07PM +0200, Peter Eisentraut wrote:
> Marko Kreen writes:
>
> > I have not fixed the '-o -F', for which the reason is that
> > 'fsync' var has in guc.c context of PGC_SIGHUP.  Another
> > such variable is 'log_connections' - it has PGC_SIGHUP
> > and in same time is command-line settable.
> >
> > How should this be fixed?  Simpliest would be to change those
> > to PGC_BACKEND.
>
> No.  PGC_BACKEND settings have no permission check, because users can pass
> them in from the client with the PGOPTIONS environment variable.  The fix
> might involve a non-trivial rearrangement of the way PGOPTIONS is
> processed (might be impossible, because PGC_BACKEND might be useless if
> the setting will only happen after the first table access (pg_shadow)) or
> another context level (might be too much work for one case).  At the
> moment you might want to just cheat and fix the context at PGC_POSTMASTER
> for this particular case.

Do you mean following?

--
marko


diff -u src/backend/tcop/postgres.c src/backend/tcop/postgres.c
--- src/backend/tcop/postgres.c
+++ src/backend/tcop/postgres.c
@@ -1225,7 +1225,7 @@
                 tmp = "true";
                 SetConfigOption("debug_level", optarg, ctx, true);
                 if (DebugLvl >= 1);
-                SetConfigOption("log_connections", tmp, ctx, true);
+                SetConfigOption("log_connections", tmp, PGC_POSTMASTER, true);
                 if (DebugLvl >= 2)
                     SetConfigOption("debug_print_query", tmp, ctx, true);
                 if (DebugLvl >= 3)
@@ -1258,7 +1258,7 @@
                  * turn off fsync
                  */
                 if (secure)
-                    SetConfigOption("fsync", "false", ctx, true);
+                    SetConfigOption("fsync", "false", PGC_POSTMASTER, true);
                 break;

             case 'f':

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Cygwin contrib patch
Next
From: Tom Lane
Date:
Subject: Re: use GUC for cmdline