Anne Rosset wrote:
> Thanks Steve.
> I found this: http://www.postgresql.org/docs/current/static/release-9-2-3.html
> "
> Fix performance problems with autovacuum truncation in busy workloads (Jan Wieck)
> Truncation of empty pages at the end of a table requires exclusive lock, but autovacuum was coded to fail (and
releasethe table lock) when there are conflicting lock requests. Under load, it is easily possible that truncation
wouldnever occur, resulting in table bloat. Fix by performing a partial truncation, releasing the lock, then attempting
tore-acquire the lock and continue. This fix also greatly reduces the average time before autovacuum releases the lock
aftera conflicting request arrives."
>
> So that is not the fix?
>
> (Sorry to ask a second time but I really need to make sure).
That's the commit that created the bug, AFAIU. It's a fix for a serious
problem, but we overlooked that it introduced some other problems which
is what you're now seeing.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services