Обсуждение: Fractions in GUC variables
We have these GUC variables that define a fraction of something: #autovacuum_vacuum_scale_factor = 0.2 # fraction of rel size before # vacuum #autovacuum_analyze_scale_factor = 0.1 # fraction of rel size before # analyze #bgwriter_lru_percent = 1.0 # 0-100% of LRU buffers scanned/round #bgwriter_all_percent = 0.333 # 0-100% of all buffers scanned/round Autovacuum settings use fractions, and bgwriter settings use a percentage. Fortunately these settings are not related so there's not too much potential for confusion, but it seems we should have a common way to define settings like that. A nice way would be that the base unit would be a fraction, like in the autovacuum settings, but you could add a %-sign to give it as a percent, just like you can use KB/MB etc. I'm not sure if we can do anything for those without breaking backwards-compatibility, though. Any ideas? The load distributed checkpoints patch adds one more GUC variable like. I'm inclined to follow the example of the bgwriter settings because it's more closely related to them, though I like the autovacuum style more. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
On Jun 14, 2007, at 7:21 AM, Heikki Linnakangas wrote: > We have these GUC variables that define a fraction of something: > > #autovacuum_vacuum_scale_factor = 0.2 # fraction of rel size before > # vacuum > #autovacuum_analyze_scale_factor = 0.1 # fraction of rel size before > # analyze > > #bgwriter_lru_percent = 1.0 # 0-100% of LRU buffers scanned/round > #bgwriter_all_percent = 0.333 # 0-100% of all buffers scanned/round > > Autovacuum settings use fractions, and bgwriter settings use a > percentage. Fortunately these settings are not related so there's > not too much potential for confusion, but it seems we should have a > common way to define settings like that. > > A nice way would be that the base unit would be a fraction, like in > the autovacuum settings, but you could add a %-sign to give it as a > percent, just like you can use KB/MB etc. I'm not sure if we can do > anything for those without breaking backwards-compatibility, though. > > Any ideas? The load distributed checkpoints patch adds one more GUC > variable like. I'm inclined to follow the example of the bgwriter > settings because it's more closely related to them, though I like > the autovacuum style more. We could create bgwrite_*_fraction (portion?) and deprecate bgwriter_*_percent... -- Jim Nasby jim@nasby.net EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
This has been saved for the 8.4 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold --------------------------------------------------------------------------- Heikki Linnakangas wrote: > We have these GUC variables that define a fraction of something: > > #autovacuum_vacuum_scale_factor = 0.2 # fraction of rel size before > # vacuum > #autovacuum_analyze_scale_factor = 0.1 # fraction of rel size before > # analyze > > #bgwriter_lru_percent = 1.0 # 0-100% of LRU buffers scanned/round > #bgwriter_all_percent = 0.333 # 0-100% of all buffers scanned/round > > Autovacuum settings use fractions, and bgwriter settings use a > percentage. Fortunately these settings are not related so there's not > too much potential for confusion, but it seems we should have a common > way to define settings like that. > > A nice way would be that the base unit would be a fraction, like in the > autovacuum settings, but you could add a %-sign to give it as a percent, > just like you can use KB/MB etc. I'm not sure if we can do anything for > those without breaking backwards-compatibility, though. > > Any ideas? The load distributed checkpoints patch adds one more GUC > variable like. I'm inclined to follow the example of the bgwriter > settings because it's more closely related to them, though I like the > autovacuum style more. > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
Added to TODO: o Consider normalizing fractions in postgresql.conf, perhaps using '%' http://archives.postgresql.org/pgsql-hackers/2007-06/msg00550.php --------------------------------------------------------------------------- Heikki Linnakangas wrote: > We have these GUC variables that define a fraction of something: > > #autovacuum_vacuum_scale_factor = 0.2 # fraction of rel size before > # vacuum > #autovacuum_analyze_scale_factor = 0.1 # fraction of rel size before > # analyze > > #bgwriter_lru_percent = 1.0 # 0-100% of LRU buffers scanned/round > #bgwriter_all_percent = 0.333 # 0-100% of all buffers scanned/round > > Autovacuum settings use fractions, and bgwriter settings use a > percentage. Fortunately these settings are not related so there's not > too much potential for confusion, but it seems we should have a common > way to define settings like that. > > A nice way would be that the base unit would be a fraction, like in the > autovacuum settings, but you could add a %-sign to give it as a percent, > just like you can use KB/MB etc. I'm not sure if we can do anything for > those without breaking backwards-compatibility, though. > > Any ideas? The load distributed checkpoints patch adds one more GUC > variable like. I'm inclined to follow the example of the bgwriter > settings because it's more closely related to them, though I like the > autovacuum style more. > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +