confusing checkpoint_flush_after / bgwriter_flush_after

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: confusing checkpoint_flush_after / bgwriter_flush_after
Date: 2016-11-25 07:40:07
Message-ID: 30ebc6e3-8358-09cf-44a8-578252938424@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

while doing some benchmarking, I've once again got confused by the
default settings for checkpoint_flush_after and bgwriter_flush_after.
The sample config says this:

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

#bgwriter_flush_after = 0 # 0 disables,
# default is 512kB 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
state.

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.

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

regards

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2016-11-25 07:41:41 Re: Forbid use of LF and CR characters in database and role names
Previous Message Ideriha, Takeshi 2016-11-25 07:02:38 Re: Forbid use of LF and CR characters in database and role names