Re: Deleting bytea, autovacuum, and 8.2/8.4 differences

From: Greg Smith <greg(at)2ndquadrant(dot)com>
To: VJK <vjkmail(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Deleting bytea, autovacuum, and 8.2/8.4 differences
Date: 2010-03-15 14:42:42
Message-ID: 4B9E4762.7060703@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

VJK wrote:
> Since Pg does not use the concept of rollback segments, it is unclear
> why deletion produces so much disk IO (4GB).

With PostgreSQL's write-ahead log, MVCC and related commit log, and
transactional DDL features, there's actually even more overhead that can
be involved than a simple rollback segment design when you delete things:

http://www.postgresql.org/docs/current/static/wal.html
http://www.postgresql.org/docs/current/static/mvcc-intro.html
http://wiki.postgresql.org/wiki/Hint_Bits
http://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis

One fun thing to try here is to increase shared_buffers and
checkpoint_segments, then see if the total number of writes go down.
The defaults for both are really low, which makes buffer page writes
that might otherwise get combined as local memory changes instead get
pushed constantly to disk.

--
Greg Smith 2ndQuadrant US Baltimore, MD
PostgreSQL Training, Services and Support
greg(at)2ndQuadrant(dot)com www.2ndQuadrant.us

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message VJK 2010-03-15 14:46:05 Re: Deleting bytea, autovacuum, and 8.2/8.4 differences
Previous Message Kevin Grittner 2010-03-15 14:12:38 Re: Deleting bytea, autovacuum, and 8.2/8.4 differences