Search Postgresql Archives

Why is RELEASE SAVEPOINT sometimes slow?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

Thanks,

Evan

--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux