Re: Table lock while adding a column and clients are logged in - Mailing list pgsql-general

From Thomas Kellerer
Subject Re: Table lock while adding a column and clients are logged in
Date
Msg-id in9t6d$ne2$2@dough.gmane.org
Whole thread Raw
In response to Re: Table lock while adding a column and clients are logged in  (Alban Hertroys <dalroi@solfertje.student.utwente.nl>)
Responses Re: Table lock while adding a column and clients are logged in
List pgsql-general
Alban Hertroys wrote on 03.04.2011 11:17:
> On 2 Apr 2011, at 12:44, Thomas Kellerer wrote:
>
>> Even after a plain SELECT you should issue a COMMIT (or ROLLBACK)
>> to end the transaction that was implicitely started with the
>> SELECT.
>
> Sorry, but you're wrong about that. A statement that implicitly
> starts a transaction also implicitly COMMITs it. Otherwise single
> UPDATE and INSERT statements outside of transaction blocks would not
> COMMIT, and they do.

AFAIK this is only true if you are running in auto commit mode.

If you have auto commit turned off, a SELECT statement will leave the current transaction as "IDLE in transaction" not
"IDLE"which means it *will* hold a lock on the tables involved that will prevent an ALTER TABLE. 

Regards
Thomas



pgsql-general by date:

Previous
From: Thomas Kellerer
Date:
Subject: Re: Table lock while adding a column and clients are logged in
Next
From: "Sven Haag"
Date:
Subject: Re: Table lock while adding a column and clients are logged in