Re: BUG #8470: 9.3 locking/subtransaction performance regression - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #8470: 9.3 locking/subtransaction performance regression
Date
Msg-id 20130925142618.GT4832@eldon.alvh.no-ip.org
Whole thread Raw
In response to BUG #8470: 9.3 locking/subtransaction performance regression  (os@ohmu.fi)
Responses Re: BUG #8470: 9.3 locking/subtransaction performance regression
List pgsql-bugs
os@ohmu.fi wrote:

> The following code performs a lot slower on PostgreSQL 9.3.0 than on
> PostgreSQL 9.2.4:
>
> DROP TABLE IF EXISTS tmp;
> CREATE TABLE tmp (id BIGSERIAL, vals BIGINT[]);
> DO $$
> DECLARE
>     r_id BIGINT;
>     n BIGINT;
> BEGIN
>     FOR n IN 1..1000 LOOP
>         BEGIN
>             SELECT id INTO r_id FROM tmp WHERE array_length(vals, 1) < 100
> LIMIT 1 FOR UPDATE NOWAIT;

Most likely, this is caused by the new tuple lock code in 9.3.  I can't
look at this immediately but I will give it a look as soon as I'm able.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

pgsql-bugs by date:

Previous
From: os@ohmu.fi
Date:
Subject: BUG #8470: 9.3 locking/subtransaction performance regression
Next
From: Stuart Bishop
Date:
Subject: Re: BUG #8450: pg_basebackup blocks until WAL archiving successful