On Thu, Jun 12, 2014 at 10:42 AM, Tom Lane-2 [via PostgreSQL] <[hidden email]> wrote:
Fujii Masao <[hidden email]> writes: > On Thu, Jun 12, 2014 at 1:43 PM, Tomonari Katsumata > <[hidden email]> wrote:
>> The document tells us to set it to ZERO if we want to disable the feature. >> However, the feature would be disabled if we set it less than one minute.
> That's because log_rotation_age expects the setting value in minutes.
> This is not a problem only for log_rotation_age. When setting the parameter > which expects the value in seconds to less than one second, the setting value > is implicitly reset to the default.
It's not "reset to default", it's set to zero due to rounding the fraction down. Some GUCs interpret zero specially, some don't.
I wonder if we should round fractions up instead of down in that logic? It might be less surprising for those GUCs where zero is special, and it seems like about a wash for most others.
I think documenting the behavior better, which I would do as part of the larger patch I'm working on here:
[9.3] Should we mention "set_config(...)" in 18.1.3 in Server Configuration?
Green field maybe I'd say yes but given that the new behavior could turn features on that are currently off it doesn't seem to be beneficial enough to warrant changing.