Re: Toast space grows

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Pavel Rotek" <pavel(dot)rotek(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Toast space grows
Date: 2008-03-07 13:33:19
Message-ID: 11848.1204896799@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

"Pavel Rotek" <pavel(dot)rotek(at)gmail(dot)com> writes:
> No i do not mean long running transactions... Update of log entry (update of
> row in dataaction) is performed in series of short transactions, but during
> short transaction there is a lot of change log value, flush, change log
> value ,flush ..... change log value, flush actions (flush means perform
> flush operation via JDBC driver). I'm not sure if this flush affects toast
> space... Maybe this is the reason.

You mean that you build up the 5MB log entry by adding a few lines at a
time? That's going to consume horrid amounts of toast space, because
each time you add a few lines, an entire new toasted field value is
created.

If you have to do it that way, you'll need very frequent vacuums on this
table (not vacuum full, as noted already) to keep the toast space from
bloating too much. And make sure you've got max_fsm_pages set high
enough.

If you can restructure your code a bit, it might be better to accumulate
log values in a short-lived table and only store the final form of a log
entry into the main table.

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Matthew 2008-03-07 13:56:48 Re: Toast space grows
Previous Message Alvaro Herrera 2008-03-07 13:19:25 Re: Toast space grows