Configuring BLCKSZ and XLOGSEGSZ (in 8.3)
От | Simon Riggs |
---|---|
Тема | Configuring BLCKSZ and XLOGSEGSZ (in 8.3) |
Дата | |
Msg-id | 1164627042.3778.142.camel@silverbirch.site обсуждение исходный текст |
Ответы |
Re: Configuring BLCKSZ and XLOGSEGSZ (in 8.3)
Re: Configuring BLCKSZ and XLOGSEGSZ (in 8.3) |
Список | pgsql-hackers |
It seems possible to vary both BLCKSZ and XLOGSEGSZ rather than have them set within pg_config_manual. There are a number of use-cases where varying these values will offer increased performance (and for many cases, no difference at all, I accept). Most of the PostgreSQL user base don't recompile their own versions, let alone know how to edit the source to change these parameters. Those people should now have the benefits known and used by a small few. - BLCKSZ can be set at initdb, so an additional option -Z to allow setting the value to 4, 8, 16 or 32 KB at that point (default 8 KB). - XLOGSEGSZ can also be set at initdb, though could also be set using resetxlog following a clean shutdown. (This would, for example, require a Warm Standby server to need reconfiguration.) Both of these changes would require updates to the control file to allow those aspects to be set prior to the initial write of the control file. Values would be re-read from the control file on startup. Some refactoring would be required to make BLCKSZ usable, touching a number of parts of the code in minor ways. There aren't many cases where the BLCKSZ is used repeatedly at run time; mostly it is used during startup of the server or some parts of executor start. So, AFAICS, there is relatively low overhead from supporting variable BLCKSZ. The infrastructure to support variable XLOGSEGSZ is already there, so few changes are required to make this variable. Comments? (Sorry for raising so many threads at once; the 8.3 cycle is fairly short, so I want to get going, now that 8.2 seems almost there) -- Simon Riggs EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: