On Tue, Jul 29, 2014 at 9:26 PM, Amit Kapila <amit.kapil...@gmail.com> wrote: > On Mon, Jul 28, 2014 at 11:33 PM, Fujii Masao <masao.fu...@gmail.com> wrote: >> There is other side effect on this patch. With the patch, when reloading >> the configurartion file, the server cannot warm an invalid setting value >> if it's not the last setting of the parameter. This may cause problematic >> situation as follows. >> >> 1. ALTER SYSTEM SET work_mem TO '1024kB'; >> 2. Reload the configuration file ---> success >> 3. Then, a user accidentally adds "work_mem = '2048KB'" into >> postgresql.conf >> The setting value '2048KB' is invalid, and the unit should be >> 'kB' instead of 'KB'. >> 4. Reload the configuration file ---> success >> The invalid setting is ignored because the setting of work_mem in >> postgresql.auto.conf is preferred. So a user cannot notice that >> postgresql.conf >> has an invalid setting. >> 5. Failover on shared-disk HA configuration happens, then PostgreSQL fails >> to >> start up because of such an invalid setting. When PostgreSQL >> starts up, the last >> setting is preferred. But all the settings are checked. > > The reason is that during startup DataDir is not set by the time server > processes config file due to which we process .auto.conf file in second > pass. I think ideally it should ignore the invalid setting in such a case > as it does during reload, however currently there is no good way to > process .auto.conf incase DataDir is not set, so we handle it separately > in second pass.
What about picking up only data_directory at the first pass? Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers