pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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



view thread (2+ messages)  latest in thread

Message-ID: <4DDE99B1.6010402@megafon.hr>
Permalink:  ../4DDE99B1.6010402@megafon.hr/
Also on:    postgresql.org/message-id/4DDE99B1.6010402@megafon.hr

 · 

reply

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