From: Mario Splivalo <mario.splivalo@megafon.hr>
To: pgsql-admin@postgresql.org
Subject: COMMIT takes long time for read only transaction
Date: Thu, 26 May 2011 20:19:29 +0200
Message-ID: <4DDE99B1.6010402@megafon.hr> (raw)
Hi, all.
Postgres 8.4.4, quite often I have situation like this:
011-05-26 18:25:38.842 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SET LOG: duration: 0.029 ms statement: BEGIN; SET TRANSACTION
ISOLATION LEVEL READ COMMITTED
2011-05-26 18:25:38.843 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 0.259 ms statement: SELECT
2011-05-26 18:25:38.847 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 2.205 ms statement: SELECT
2011-05-26 18:25:38.850 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 0.185 ms statement: SELECT
2011-05-26 18:25:39.250 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 0.232 ms statement: SELECT
2011-05-26 18:25:39.252 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 0.289 ms statement: SELECT
2011-05-26 18:25:39.255 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 0.639 ms statement: SELECT
2011-05-26 18:25:39.257 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 0.135 ms statement: SELECT
2011-05-26 18:25:39.258 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
SELECT LOG: duration: 0.156 ms statement: SELECT
2011-05-26 18:25:51.624 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
COMMIT LOG: duration: 11159.202 ms statement: COMMIT
2011-05-26 18:26:05.788 CEST [16163] <ample@knjiz> [192.168.1.5(32431)]
COMMIT LOG: duration: 326.856 ms statement: COMMIT
This is a grep from a postgres log when I had logging of all statements
enabled. I did grep by the local pid (16163), and what I don't
understand is:
- why is first COMMIT taking 11 seconds, when there are only SELECTs in
the transaction? SELECTS don't call any user defined functions, just
plain reads from the tables.
- what is that second COMMIT? If I issue COMMIT without 'BEGIN'
shouldn't I get: "COMMIT WARNING: there is no transaction in progress"
Mario
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: mario.splivalo@megafon.hr
Subject: Re: COMMIT takes long time for read only transaction
In-Reply-To: <4DDE99B1.6010402@megafon.hr>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox