On Thu, Jun 12, 2014 at 7:26 PM, Fujii Masao <
masao.fujii@gmail.com> wrote:
>
> On Tue, May 27, 2014 at 2:05 PM, Amit Kapila <
amit.kapila16@gmail.com> wrote:
> > On Sun, May 11, 2014 at 11:23 PM, Tom Lane <
tgl@sss.pgh.pa.us> wrote:
> >> I think it's clearly *necessary* to forbid setting data_directory in
> >> postgresql.auto.conf. The file is defined to be found in the data
> >> directory, so any such setting is circular logic by definition;
> >> no good can come of not rejecting it.
> >>
> >> We already have a GUC flag bit about disallowing certain variables
> >> in the config file (though I don't remember if it's enforced or
> >> just advisory). It seems to me that we'd better invent one for
> >> disallowing in ALTER SYSTEM, as well.
> >
> > I introduced a new flag bit (GUC_DISALLOW_IN_AUTO_FILE) to
> > disallow parameters by Alter System and disallowed data_directory to
> > be set by Alter System.
>
> We should document what types of parameters are not allowed to be set by
> ALTER SYSTEM SET?
Agreed, I had mentioned in Notes section of document. Apart from that
I had disallowed parameters that are excluded from postgresql.conf by
initdb (Developer options) and they are recommended in user manual
to be not used in production.
> data_directory was displayed when I typed "TAB" just after ALTER SYSTEM SET.
> Probably tab-completion for ALTER SYSTEM SET needs to be changed.
This information is not stored in pg_settings. One way is to specify
manually all the parameters which are disallowed but it seems the query
will become clumsy, another could be to have another column in pg_settings.
Do you think of any other way?