Re: Blocking excessively in FOR UPDATE

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Claudio Freire <klaussfreire(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, postgres performance list <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Blocking excessively in FOR UPDATE
Date: 2011-11-04 16:10:37
Message-ID: CA+TgmoZ3n5a5kKvO6cFwUEa5eBQWK=s8nvy_-86eP82nFv8Eig@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Fri, Nov 4, 2011 at 12:07 PM, Claudio Freire <klaussfreire(at)gmail(dot)com> wrote:
> What are those writes about? HOT vacuuming perhaps?

Every tuple lock requires dirtying the page. Those writes are all
those dirty pages getting flushed out to disk. It's possible that the
OS is allowing the writes to happen asynchronously for a while, but
then when you get too much dirty data in the cache, it starts
blocking.

The only thing I'm fuzzy about is why it's locking so many rows, given
that the output says rows=1.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Sorbara, Giorgio (CIOK) 2011-11-04 16:14:48 Re: Strange query plan
Previous Message Claudio Freire 2011-11-04 16:07:38 Re: Blocking excessively in FOR UPDATE