Re: Why is RELEASE SAVEPOINT sometimes slow?

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Evan Martin <postgresql(at)realityexists(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Why is RELEASE SAVEPOINT sometimes slow?
Date: 2012-05-11 10:26:14
Message-ID: CA+U5nMJxw45H_=ghw5XERpchfJs+FntRdcYJbtwYfcvfJ0DsxA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 11 May 2012 11:16, Evan Martin <postgresql(at)realityexists(dot)net> wrote:
> I'm running a bulk import application against PostgreSQL 9.1.3, which has
> several stages and each stage follows the same general pattern:
>
> BEGIN TRANSACTION
> DELETE (many rows)
>
> CREATE SAVEPOINT
> INSERT
> ...
> RELEASE SAVEPOINT
>
> CREATE SAVEPOINT
> INSERT
> INSERT
> ... half an hour of inserts later ...
> RELEASE SAVEPOINT
>
> COMMIT TRANSACTION
>
> I find that for one particular stage of the import the RELEASE SAVEPOINT
> command consistently takes about 6 minutes, while for the rest of them it's
> very quick. COMMIT TRANSACTION is always very quick.
>
> At first I thought the discrepancy may be because that particular stage has
> many INSERT statements inside one savepoint, while other stages create many
> savepoints with a small amount of work in each. However, if I take out the
> savepoints entirely then the COMMIT TRANSACTION statement for that stage
> takes 6 minutes, while for the rest of them it's still very quick.
>
> Could anyone explain what may be happening here? What is PostgreSQL doing
> when I call RELEASE SAVEPOINT that it seems to otherwise do in COMMIT
> TRANSACTION?

Sounds interesting.

Please can you produce a test case that demonstrates this, then post
the SQL file and an output of a run that shows the negative timing?

Thanks

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Inanc Seylan 2012-05-11 13:57:14 UDF in C slow
Previous Message Evan Martin 2012-05-11 10:16:59 Why is RELEASE SAVEPOINT sometimes slow?