ExclusiveLock and Python

From: "Gaetano Mendola" <mendola(at)bigfoot(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: ExclusiveLock and Python
Date: 2003-02-26 11:30:38
Message-ID: b3i8gp$1gqp$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi all,

doing the following query

select * from pg_locks where mode = 'ExclusiveLock';

I obtain:

relation | database | transaction | pid | mode | granted
----------+----------+-------------+-------+---------------+---------
| | 2560899 | 20404 | ExclusiveLock | t

ExclusiveLock on what ?

BTW I obtain this ExclusiveLock just doing a connection
with a Python program using the pgdb interface:

db_connection = pgdb.connect( )

and I obtain:

$> ps -eafwww | grep post

postgres 10408 21357 0 12:02 ? 00:00:00 postgres: kalman kalman
[local] idle in transaction

I seen inside the pgdb.py code and I found that in the constructor of
pgdbCnx is performed:
src.execute("BEGIN")

and the methods commit and rollback:

def commit(self):
try:
src = self.__cnx.source()
src.execute("COMMIT")
src.execute("BEGIN")
except:
raise OperationalError, "can't commit."

def rollback(self):
try:
src = self.__cnx.source()
src.execute("ROLLBACK")
src.execute("BEGIN")
except:
raise OperationalError, "can't rollback."

so it seem that is no an "autocommit" behaviour,
How can avoid to open a transaction if is not needed ?
Exist a way to emulate an autocommit behaviour or should I modify the
pgdb.py ?

Regards Gaetano

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Daniel Rubio 2003-02-26 11:49:33 Limiting database size ...
Previous Message Rajesh Kumar Mallah 2003-02-26 07:13:10 Re: PLSQL