On 11/25/2016 01:20 PM, Fabien COELHO wrote:

Hello Tomas,

#checkpoint_flush_after = 0   # 0 disables,
                             # default is 256kB on linux, 0 otherwise

I find this pretty confusing, because for all other GUCs in the file,
the commented-out value is the default one. In this case that would
mean "0", disabling the flushing.

But in practice we use platform-dependent defaults - 256/512K on
Linux, 0 otherwise. There are other GUCs where the default is
platform-specific, but none of them suggests "disabled" is the default

While the 9.6 cat is out of the bag, I think we can fix this quite
easily - use "-1" to specify the default value should be used, and use
that in the sample file. This won't break any user configuration.

Although I understand the issue, I'm not sure about -1 as a special
value to mean the default.

Why? We use wal_buffers=-1 to use the default (depending on the size of shared_buffers), for example.

If that's considered not acceptable, perhaps we should at least
improve the comments, so make this clearer.

Yep, what about not putting a value and inverting/adapting the comments,
maybe something like:

 #checkpoint_flush_after = ...  # default is 256kB on linux, 0 otherwise
                                # where 0 disables flushing

Yeah, something like that.


Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to