Re: questions on toast tables

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Warren Little <warren(dot)little(at)meridiascapital(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: questions on toast tables
Date: 2006-04-29 18:48:25
Message-ID: 25284.1146336505@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Warren Little <warren(dot)little(at)meridiascapital(dot)com> writes:
> Could this be the reference to the toast table that is preventing the
> vacuum from deleting the toast data? And what purges "dropped" columns
> if not a full vacuum.

Actually, the way that toast references work is that they'll go away at
the next update of the row containing the reference. The reason you've
still got a pile of unremovable toast data is evidently that a lot of
the parent table's rows have remained untouched since the wide bytea
column existed. (We choose not to do this housekeeping immediately
during DROP COLUMN, but to defer it until the next row update.)

One way to clean up the junk would be to do a trivial full-table update
("UPDATE foo SET f1 = f1") and then VACUUM FULL, but there are other
ways that are more efficient. If you're using a PG version released
within the last year, CLUSTER will do the job nicely.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2006-04-29 19:13:44 Re: WAL recovery question - 0000001.history
Previous Message andy 2006-04-29 18:28:41 Re: connection refused 274D/10061