Re: Why BgWriterDelay is fixed?

From: Xiong He <iihero(at)qq(dot)com>
To: 高健 <luckyjackgao(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Why BgWriterDelay is fixed?
Date: 2012-10-29 09:45:04
Message-ID: tencent_4FE00EF0246CCCFE1C8C58E3@qq.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

You can check the code in guc.c,&nbsp; search "bgwriter_delay",&nbsp; &amp;BgWriterDelay<br>In the global user configuration, it can change the value of BgWriterDelay.<br>Since the BgWriterDelay declared in bgwriter.h as extern.&nbsp; It can be changed in the global namespace.<br><br><div><div style="color:#909090;font-family:Arial Narrow;font-size:12px">------------------</div><div style="font-size:14px;font-family:Verdana;color:#000;"><div><div style="font-family: 'lucida Grande', Verdana; font-size: 12px; line-height: 18px; ">Thanks&amp;Regards,</div><div style="font-family: 'lucida Grande', Verdana; font-size: 12px; line-height: 18px; ">Xiong He<br><br></div></div></div></div><div>&nbsp;</div><div><includetail><div><br></div><div><br></div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------&nbsp;Original&nbsp;------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>From: </b>&nbsp;"高健"&lt;luckyjackgao(at)gmail(dot)com&gt;;</div><div><b>Date: </b>&nbsp;Mon, Oct 29, 2012 03:17 PM</div><div><b>To: </b>&nbsp;"pgsql-general"&lt;pgsql-general(at)postgresql(dot)org&gt;; <wbr></div><div></div><div><b>Subject: </b>&nbsp;[GENERAL] Why BgWriterDelay is fixed?</div></div><div><br></div>In&nbsp;src/backend/postmaster/bgwriter.c , I can find the following source code(PostgreSQL9.2):<div><br></div><div><div><br></div><div>/*</div><div>&nbsp;* GUC parameters</div><div>&nbsp;*/</div><div>int<span class="Apple-tab-span" style="white-space:pre"> </span>BgWriterDelay = 200;</div>
</div><div><br></div><div>...</div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span>rc = WaitLatch(&amp;MyProc-&gt;procLatch,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> &nbsp; WL_LATCH_SET | WL_TIMEOUT | WL_POSTMASTER_DEATH,</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span> &nbsp; BgWriterDelay /* ms */ );</div></div><div>...</div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span>if (rc == WL_TIMEOUT &amp;&amp; can_hibernate &amp;&amp; prev_hibernate)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>{</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>/* Ask for notification at next buffer allocation */</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>StrategyNotifyBgWriter(&amp;MyProc-&gt;procLatch);</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>/* Sleep ... */</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>rc = WaitLatch(&amp;MyProc-&gt;procLatch,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> &nbsp; WL_LATCH_SET | WL_TIMEOUT | WL_POSTMASTER_DEATH,</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span> &nbsp; BgWriterDelay * HIBERNATE_FACTOR);</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>/* Reset the notification request in case we timed out */</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>StrategyNotifyBgWriter(NULL);</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>}</div></div><div><br></div><div>But I also found &nbsp;the following in postgresql.conf:</div>
<div><div>#bgwriter_delay = 200ms &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 10-10000ms between rounds</div></div><div>It is now comment .</div><div>But according to the fixed code of &nbsp;BgWriterDelay = 200, even when I update bgwriter_delay in postgresql.conf to a different value(eg 300ms),&nbsp;</div>
<div>how can it ovewrite the fixed &nbsp;200ms in bgwriter.c ?</div><div><br></div><div>I also want to know, &nbsp;if it is not a bug, then what is the reason?</div></includetail></div>

Attachment Content-Type Size
unknown_filename text/html 3.7 KB

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2012-10-29 10:03:01 Re: table logging
Previous Message Seref Arikan 2012-10-29 09:00:38 Re: Access to postgresql query optimizer output