Kris- Thanks for digging into the code for that. Unfortunately, I'm now more confused.
> the actual default at initdb time can be set as high as nbuffers * > 50, > where the max shared_buffers is 4096. So the default max_fsm_pages > for a > beefier machine will be 204800 which is what you will find in > postgresql.conf.sample. The initdb was done on an 8-way Opteron with 32GB of RAM. I would have assumed that this satisfied the definition of a "beefier machine", but I got the measly 20000 m_f_p setting (and didn't manually change the shared_buffers setting). Initdb was done with 8.2.3 IIRC. > The fact that you have a commented out value in your postgresql.conf > does > not mean it is the default. Really? Comments in postgresql.conf file sayeth: # The # commented-out settings shown in this file represent the default values. # # Please note that re-commenting a setting is NOT sufficient to revert it # to the default value, unless you restart the server. This seems to directly say that the commented out settings are the default values, and furthermore that one must restart to get the indicated default back. Based on your evidence, it seems that the postgresql.conf comment for max_fsm_pages needs revising to indicate that the m_f_p default is determined at initdb-time. Thank you, Reece -- Reece Hart, http://harts.net/reece/, GPG:0x25EC91A0