Обсуждение: Patch: Tie stats options to autovacuum in postgresql.conf

Поиск
Список
Период
Сортировка

Patch: Tie stats options to autovacuum in postgresql.conf

От
David Wheeler
Дата:
PostgreSQLers,

I just ran into an issue where a client thought that autovacuum was
running but it wasn't. This is because it's not fatal when autovacuum
is on but stats_start_collector and/or stats_row_level is off. I
suspect that there's a reason that it's not fatal, so I thought that
it might be useful to give folks just a little bit of help by telling
them in postgresql.conf that they need to enable them in order for
autovacuum to work.

If this patch is not correctly formatted or against the proper file,
please let me know and I'll make the necessary modifications.

Thanks,

David


Вложения

Re: Patch: Tie stats options to autovacuum in postgresql.conf

От
"Jim C. Nasby"
Дата:
On Thu, Sep 28, 2006 at 03:07:39PM -0700, David Wheeler wrote:
> PostgreSQLers,
> 
> I just ran into an issue where a client thought that autovacuum was  
> running but it wasn't. This is because it's not fatal when autovacuum  
> is on but stats_start_collector and/or stats_row_level is off. I  
> suspect that there's a reason that it's not fatal, so I thought that  
> it might be useful to give folks just a little bit of help by telling  
> them in postgresql.conf that they need to enable them in order for  
> autovacuum to work.

+1. I was just at a client today that had run into this problem.

Actually, I'm in favor of refusing to start if autovac is on but the
proper stats settings aren't. I'd rather that then people ending up with
bloated databases and crappy performance.
-- 
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)


Re: Patch: Tie stats options to autovacuum in postgresql.conf

От
"David E. Wheeler"
Дата:
On Sep 28, 2006, at 16:39, Jim C. Nasby wrote:

> +1. I was just at a client today that had run into this problem.
>
> Actually, I'm in favor of refusing to start if autovac is on but the
> proper stats settings aren't. I'd rather that then people ending up  
> with
> bloated databases and crappy performance.

I agree, but I figured that this was a start, at least.

Best,

David


Re: Patch: Tie stats options to autovacuum in postgresql.conf

От
"Florian G. Pflug"
Дата:
Jim C. Nasby wrote:
> On Thu, Sep 28, 2006 at 03:07:39PM -0700, David Wheeler wrote:
>> PostgreSQLers,
>>
>> I just ran into an issue where a client thought that autovacuum was  
>> running but it wasn't. This is because it's not fatal when autovacuum  
>> is on but stats_start_collector and/or stats_row_level is off. I  
>> suspect that there's a reason that it's not fatal, so I thought that  
>> it might be useful to give folks just a little bit of help by telling  
>> them in postgresql.conf that they need to enable them in order for  
>> autovacuum to work.
> 
> +1. I was just at a client today that had run into this problem.
> 
> Actually, I'm in favor of refusing to start if autovac is on but the
> proper stats settings aren't. I'd rather that then people ending up with
> bloated databases and crappy performance.
If think that setting autovacuum to on should even force
stats_collector and stats_row_level to on - together with a warning if
they would otherwise be off.

The risk of autovacuum being disabled by accident seems to risk a much
worse performance penatly then having the statistics collector running
by accident. Additionally, the statistics collector can easily be turned
off within seconds even _if_ it was on accidentally, but if vacuuming was
disabled by accident, the user might have to run "vacuum full" - with all
the concurrency issues that this implies..

greetings, Florian flug


Re: Patch: Tie stats options to autovacuum in

От
Bruce Momjian
Дата:
David E. Wheeler wrote:
> On Sep 28, 2006, at 16:39, Jim C. Nasby wrote:
> 
> > +1. I was just at a client today that had run into this problem.
> >
> > Actually, I'm in favor of refusing to start if autovac is on but the
> > proper stats settings aren't. I'd rather that then people ending up  
> > with
> > bloated databases and crappy performance.
> 
> I agree, but I figured that this was a start, at least.

The problem with refusing to start is that autovacuum is sighup, so you
might modify postgresql.conf and do a server restart, and then the
server doesn't start.  Are people OK with that?

I did apply the postgresql.conf comment addition.

--  Bruce Momjian   bruce@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: Patch: Tie stats options to autovacuum in

От
Jim Nasby
Дата:
On Oct 2, 2006, at 8:41 PM, Bruce Momjian wrote:
> David E. Wheeler wrote:
>> On Sep 28, 2006, at 16:39, Jim C. Nasby wrote:
>>
>>> +1. I was just at a client today that had run into this problem.
>>>
>>> Actually, I'm in favor of refusing to start if autovac is on but the
>>> proper stats settings aren't. I'd rather that then people ending up
>>> with
>>> bloated databases and crappy performance.
>>
>> I agree, but I figured that this was a start, at least.
>
> The problem with refusing to start is that autovacuum is sighup, so  
> you
> might modify postgresql.conf and do a server restart, and then the
> server doesn't start.  Are people OK with that?
>
> I did apply the postgresql.conf comment addition.

Hrm... how about if the options are incompatible on HUP we refuse to  
pick up any new settings and complain loudly?

Perhaps it would be easier to just override stats_row_level if  
autovac is on. Doesn't necessarily meet the least surprise test, but  
it does protect newbies which I feel is more important in this case.
--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)




Re: Patch: Tie stats options to autovacuum in

От
Bruce Momjian
Дата:
Jim Nasby wrote:
> On Oct 2, 2006, at 8:41 PM, Bruce Momjian wrote:
> > David E. Wheeler wrote:
> >> On Sep 28, 2006, at 16:39, Jim C. Nasby wrote:
> >>
> >>> +1. I was just at a client today that had run into this problem.
> >>>
> >>> Actually, I'm in favor of refusing to start if autovac is on but the
> >>> proper stats settings aren't. I'd rather that then people ending up
> >>> with
> >>> bloated databases and crappy performance.
> >>
> >> I agree, but I figured that this was a start, at least.
> >
> > The problem with refusing to start is that autovacuum is sighup, so  
> > you
> > might modify postgresql.conf and do a server restart, and then the
> > server doesn't start.  Are people OK with that?
> >
> > I did apply the postgresql.conf comment addition.
> 
> Hrm... how about if the options are incompatible on HUP we refuse to  
> pick up any new settings and complain loudly?

We don't read postgresql.conf as a test and then set values.

--  Bruce Momjian   bruce@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: Patch: Tie stats options to autovacuum in

От
Jim Nasby
Дата:
On Oct 2, 2006, at 9:17 PM, Bruce Momjian wrote:
> Jim Nasby wrote:
>> On Oct 2, 2006, at 8:41 PM, Bruce Momjian wrote:
>>> David E. Wheeler wrote:
>>>> On Sep 28, 2006, at 16:39, Jim C. Nasby wrote:
>>>>
>>>>> +1. I was just at a client today that had run into this problem.
>>>>>
>>>>> Actually, I'm in favor of refusing to start if autovac is on  
>>>>> but the
>>>>> proper stats settings aren't. I'd rather that then people  
>>>>> ending up
>>>>> with
>>>>> bloated databases and crappy performance.
>>>>
>>>> I agree, but I figured that this was a start, at least.
>>>
>>> The problem with refusing to start is that autovacuum is sighup, so
>>> you
>>> might modify postgresql.conf and do a server restart, and then the
>>> server doesn't start.  Are people OK with that?
>>>
>>> I did apply the postgresql.conf comment addition.
>>
>> Hrm... how about if the options are incompatible on HUP we refuse to
>> pick up any new settings and complain loudly?
>
> We don't read postgresql.conf as a test and then set values.

IMHO we should... if something got botched in the config file I'd  
rather have it complain and not change anything instead of taking  
just some of the changes. This will be even more important once the  
code goes in to return to default values if something gets commented  
out in the config.
--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)




Re: Patch: Tie stats options to autovacuum in

От
Tom Lane
Дата:
Jim Nasby <jim@nasby.net> writes:
> On Oct 2, 2006, at 9:17 PM, Bruce Momjian wrote:
>> Jim Nasby wrote:
>>> Hrm... how about if the options are incompatible on HUP we refuse to
>>> pick up any new settings and complain loudly?
>> 
>> We don't read postgresql.conf as a test and then set values.

> IMHO we should... if something got botched in the config file I'd  
> rather have it complain and not change anything instead of taking  
> just some of the changes.

Apparently, neither of you have read the code nor experimented with this
behavior.

The core reason why GUC variables should not be interdependent (as Jim
proposed upthread) is exactly that it would break the ability of
ProcessConfigFile to validate the new settings before applying them.
        regards, tom lane