Re: VACUUM for TOASTed objects

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Soroosh Sardari <soroosh(dot)sardari(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: VACUUM for TOASTed objects
Date: 2013-11-20 10:10:05
Message-ID: CAB7nPqQ7GpVO1oFqmHnDv9wxmVMswb8zZDs8h2p29BDhsZ3WUA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Nov 20, 2013 at 5:46 PM, Soroosh Sardari
<soroosh(dot)sardari(at)gmail(dot)com> wrote:
> Hi
>
> The vacuum procedure do rewrite for a table but, what happened if the table
> has some TOASTed columns?
>
> Please, help me to find a module or function in source code which is
> responsible for
> vaccuming the TOAST relation.
A toast table is vacuumed with its master table when vacuum is done on
this master table. Have a look at vacuum.c:1150~:
/*
* If the relation has a secondary toast rel, vacuum that too while we
* still hold the session lock on the master table. Note however that
* "analyze" will not get done on the toast table. This
is good, because
* the toaster always uses hardcoded index access and statistics are
* totally unimportant for toast relations.
*/
if (toast_relid != InvalidOid)
vacuum_rel(toast_relid, vacstmt, false, for_wraparound);
Regards,
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Haribabu kommi 2013-11-20 10:43:37 Re: New option for pg_basebackup, to specify a different directory for pg_xlog
Previous Message Amit Khandekar 2013-11-20 09:56:35 Re: COPY table FROM STDIN doesn't show count tag