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
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 |