Обсуждение: Vacuum freeze

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

Vacuum freeze

От
Mike Blackwell
Дата:
check_postgres.pl (--action=autovac_freeze) recently complained that we needed to run VACUUM FREEZE.  Doing so generated a boatload of WAL files - perhaps on the order of the of the database itself.

Is VACUUM FREEZE something that is normally handled by autovac?  If so, how would we approach finding what caused it not to happen automatically?  Or if it's not, what's the normal approach to scheduling it manually to prevent this flood of WAL?


Re: Vacuum freeze

От
Vick Khera
Дата:
I don't think autovacuum can predict you will not update your table(s) anymore, so there's no way to know to run FREEZE on it.

On Thu, Dec 4, 2014 at 12:02 PM, Mike Blackwell <mike.blackwell@rrd.com> wrote:
check_postgres.pl (--action=autovac_freeze) recently complained that we needed to run VACUUM FREEZE.  Doing so generated a boatload of WAL files - perhaps on the order of the of the database itself.

Is VACUUM FREEZE something that is normally handled by autovac?  If so, how would we approach finding what caused it not to happen automatically?  Or if it's not, what's the normal approach to scheduling it manually to prevent this flood of WAL?



Re: Vacuum freeze

От
Josh Kupershmidt
Дата:
On Thu, Dec 4, 2014 at 12:02 PM, Mike Blackwell <mike.blackwell@rrd.com> wrote:
> check_postgres.pl (--action=autovac_freeze) recently complained that we
> needed to run VACUUM FREEZE.  Doing so generated a boatload of WAL files -
> perhaps on the order of the of the database itself.
>
> Is VACUUM FREEZE something that is normally handled by autovac?  If so, how
> would we approach finding what caused it not to happen automatically?  Or if
> it's not, what's the normal approach to scheduling it manually to prevent
> this flood of WAL?

It is (supposed to be) handled by autovacuum: you can tune
autovacuum_freeze_max_age:
http://www.postgresql.org/docs/current/static/runtime-config-autovacuum.html

And there are similar knobs for manual VACUUMs as well.

Josh


Re: Vacuum freeze

От
Jeff Janes
Дата:
On Thu, Dec 4, 2014 at 9:02 AM, Mike Blackwell <mike.blackwell@rrd.com> wrote:
check_postgres.pl (--action=autovac_freeze) recently complained that we needed to run VACUUM FREEZE.  Doing so generated a boatload of WAL files - perhaps on the order of the of the database itself.

Is VACUUM FREEZE something that is normally handled by autovac?  If so, how would we approach finding what caused it not to happen automatically?  Or if it's not, what's the normal approach to scheduling it manually to prevent this flood of WAL?

I think you are misinterpreting what is going on.  

check_postgres has no business telling you to run VACUUM FREEZE, and from what I can see in the documentation it doesn't try to do that.  What it is warning you about is that autovac is just about to kick in and do a full scan to prevent wraparound.

Such a scan can cause intense activity (as you discovered) and so you might want to be warned that it is about to happen so you can control the process yourself if you want (for example, run it at night), rather than letting it happen automatically.


Cheers,

Jeff