Re: Table-level log_autovacuum_min_duration

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: Naoya Anzai <anzai-naoya(at)mxu(dot)nes(dot)nec(dot)co(dot)jp>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, Akio Iwaasa <iwaasa(at)mxs(dot)nes(dot)nec(dot)co(dot)jp>
Subject: Re: Table-level log_autovacuum_min_duration
Date: 2015-03-06 04:07:04
Message-ID: CAB7nPqTZktNzAAmOq__uurJVyQXVYgqpQtmECCYicbBFjF9M0Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Mar 6, 2015 at 12:44 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> On Thu, Mar 5, 2015 at 9:49 PM, Michael Paquier
> <michael(dot)paquier(at)gmail(dot)com> wrote:
>> On Thu, Mar 5, 2015 at 7:10 PM, Fujii Masao wrote:
>>> With the patch, VACUUM ANALYZE VERBOSE doesn't emit any verbose message.
>>> Why did you remove that functionality?
>>
>> Oops. Sorry about that. In gram.y, the combination of VacuumStmt with
>> AnalyzeStmt overwrote the value of log_min_duration incorrectly. I
>> also found another bug related to logging of ANALYZE not working
>> correctly because of the use of IsAutoVacuumWorkerProcess() instead of
>> VACOPT_VERBOSE (this is reducing the diffs of the patch btw). All
>> those things are fixed in the attached.
>
> Thanks for updating the patch!
>
> Why does log_min_duration need to be set even when manual VACUUM command is
> executed? Per the latest version of the patch, log_min_duration is checked only
> when the process is autovacuum worker. So ISTM that log_min_duration doesn't
> need to be set in gram.y. It's even confusing to me. Or if you're going to
> implement something like "VACUUM VERBOSE DURATION n" (i.e., verbose message
> is output if n seconds have been elapsed), that might be necessary, though...

Thanks for reminding. The DURATION-like clause was exactly a point
mentioned by Anzai-san upthread, and it made sense to me to be in-line
with the other parameters controlling the freeze (discussion somewhat
related to that =>
http://www.postgresql.org/message-id/CAB7nPqRZX7Pv2B-R7xHmAh52tfjAQGfy9btqwFstgQgXks=iSw@mail.gmail.com)
but we can live without it for this patch as VACOPT_VERBOSE is used
only by manual VACUUM and not by autovacuum to choose the log elevel.
--
Michael

Attachment Content-Type Size
20150306_autovacuum_log_relopts_v10.patch application/x-patch 14.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-03-06 05:16:19 Re: Weirdly pesimistic estimates in optimizer
Previous Message Michael Paquier 2015-03-06 03:44:12 Re: Strange assertion using VACOPT_FREEZE in vacuum.c