2008/3/7, Matthew <[EMAIL PROTECTED]>:
>
> > "Pavel Rotek" <[EMAIL PROTECTED]> 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.
>
>
> On Fri, 7 Mar 2008, Tom Lane wrote:
> > 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.
>
>
> Moreover, what is the point of flushing data to Postgres without
> committing the transaction, if you're only going to overwrite the data
> later. You don't get any level of protection for your data just by
> flushing it to Postgres - you have to commit the transaction for that to
> happen. In my opinion, you should just be generating the log entry in
> memory entirely, and then flushing it in a transaction commit when it's
> finished, since you're obviously holding it all in memory all the time
> anyway.


Because i use kind of hibrid access to work with data in database (both
hibernate and plain JDBC queries shares the same connection) and when i want
to see data saved via hibernate in JDBC queries, i have to do flush of
hibernate session... :-(

> 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.
>
>
> Agreed, this is kind of the worst-case-scenario for table bloat.
>
> Matthew
>
> --
> Now the reason people powdered their faces back then was to change the
> values
> "s" and "n" in this equation here.                 - Computer science
> lecturer
>
>
> --
> Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-performance
>

Reply via email to