Thread: Why pg_toast table not get auto vacuumed?

Why pg_toast table not get auto vacuumed?

From
jlliu
Date:
Hi,

PostgreSQL version: 9.1.16. Linux: RHEL6.

After a heavy traffic run, a huge pg_toast table is seen. Its size is ~3G.
There also exist other pg_toast tables in a much smaller size, for example,
~100M. The problem is that that huge pg_toast table never gets auto vacuumed
while other small pg_toast tables do get auto vacuumed, as shown in pg logs.
If running traffic again, the huge pg_toast table grows again.

We have another system with the same setup but we only run light traffic on
it. The pg_toast table from the same parent table also exists. But this
pg_toast table only has a size ~50M and it gets auto vacuumed from time to
time as shown in pg_logs.

Why does not the huge pg_toast table in the first case get auto vacuumed?
Are there anything we can do?

Thanks,
JL



--
View this message in context:
http://postgresql.1045698.n5.nabble.com/Why-pg-toast-table-not-get-auto-vacuumed-tp5811788.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


Re: Why pg_toast table not get auto vacuumed?

From
Adrian Klaver
Date:
On 07/16/2014 12:05 PM, jlliu wrote:
> Hi,
>
> PostgreSQL version: 9.1.16. Linux: RHEL6.
>
> After a heavy traffic run, a huge pg_toast table is seen. Its size is ~3G.
> There also exist other pg_toast tables in a much smaller size, for example,
> ~100M. The problem is that that huge pg_toast table never gets auto vacuumed
> while other small pg_toast tables do get auto vacuumed, as shown in pg logs.
> If running traffic again, the huge pg_toast table grows again.

In psql see if \d+ on the parent table shows autovacuum  has been
disabled for that table.

>
> We have another system with the same setup but we only run light traffic on
> it. The pg_toast table from the same parent table also exists. But this
> pg_toast table only has a size ~50M and it gets auto vacuumed from time to
> time as shown in pg_logs.
>
> Why does not the huge pg_toast table in the first case get auto vacuumed?
> Are there anything we can do?

A start would be to show what your autovacuum settings in
postgresql.conf are:

http://www.postgresql.org/docs/9.3/interactive/runtime-config-autovacuum.html

Also the information from pg_stat_all_tables for that table:

http://www.postgresql.org/docs/9.1/static/monitoring-stats.html

>
> Thanks,
> JL
>
>
>
>


--
Adrian Klaver
adrian.klaver@aklaver.com