Folks, First off, I was going through PostgreSQL.conf.sample, and noticed that the bgwriter GUCs had multiplied:
#bgwriter_delay = 200 # 10-10000 milliseconds between rounds #bgwriter_lru_percent = 1.0 # 0-100% of LRU buffers scanned in each round #bgwriter_lru_maxpages = 5 # 0-1000 buffers max written per round #bgwriter_all_percent = 0.333 # 0-100% of all buffers scanned in each round #bgwriter_all_maxpages = 5 # 0-1000 buffers max written per round I find the addition a little baffling, since previous tests ... both mine, and discussion of tests last December ... showed that manipulating the bgwriter variables had no useful effects, and one might as well leave them alone. For example, I ran this test series on the 7/3 CVS: bgwriter_delay Default bgwriter_maxpages Default 1260 bgwriter_delay 200 bgwriter_maxpages 100 1266 bgwriter_delay 100 bgwriter_maxpages 100 1270 bgwriter_delay 100 bgwriter_maxpages 200 1223 bgwriter_delay 100 bgwriter_maxpages 500 1261 bgwriter_delay 200 bgwriter_maxpages 500 1256 bgwriter_delay 50 bgwriter_maxpages 100 1221 I need to re-run this with some of the new wal_buffer and checkpoint stuff, but as you can see the only variation I've encountered so far has been random noise. That given, do we really need to add more settings? Can't we drop these and just have them be constants in the code? I'm thinking for 8.2 we should just have bgwriter_activity = 1 #frequency and size of bgwriter batches, # on a 1 .. 10 scale ... since that's as much of a handle as anyone needs, if they need any at all. -- --Josh Josh Berkus Aglio Database Solutions San Francisco ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster