From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Christopher Browne <cbbrowne(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: autovacuum not prioritising for-wraparound tables |
Date: | 2013-02-02 19:54:10 |
Message-ID: | CA+Tgmob2VBZPm2hBJj8DAf+9+G0_86sY8o+DTMB92Gy3u3_C_g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, Feb 2, 2013 at 1:49 PM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> You're right, this doesn't work superbly well, especially for
> insert-only tables... But imo the place to fix it is not the
> priorization logic but relation_needs_vacanalyze, since fixing it in
> priorization won't prevent the BAM just the timing of it.
Agreed.
> I think scheduling a table for a partial vacuum every min_freeze * 2
> xids, even if its insert only, would go a long way of reducing the
> impact of full-table vacuums. Obviously that would require to retain the
> last xid a vacuum was executed in...
I'm not sure that min_freeze * 2 is the right value, but otherwise agreed.
I keep coming back to the idea that vacuum should have a high-priority
queue and a low-priority queue. When stuff meets the current
thresholds, it goes into the high-priority queue. But then there
should be a low-priority queue where we do partial vacuums of things
that meet some lower threshold - like the unfrozen portions of
insert-only tables.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2013-02-02 19:55:10 | Re: pgsql: Mark vacuum_defer_cleanup_age as PGC_POSTMASTER. |
Previous Message | Noah Misch | 2013-02-02 19:27:24 | Re: COPY FREEZE has no warning |