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 ina00u$524$1@dough.gmane.org
Whole thread Raw
In response to Re: Table lock while adding a column and clients are logged in  ("Sven Haag" <sven-haag@gmx.de>)
Responses Re: Table lock while adding a column and clients are logged in
List pgsql-general
Sven Haag wrote on 03.04.2011 16:13:
>
> -------- Original-Nachricht --------
>> Datum: Sun, 03 Apr 2011 15:37:17 +0200
>> Von: Thomas Kellerer<spam_eater@gmx.net>
>> An: pgsql-general@postgresql.org
>> Betreff: Re: [GENERAL] Table lock while adding a column and clients are logged in
>
>> 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.
>>
>
> well, as we are using the default setting here (according to the manual this is ON) this shouldn't be the case?!

The client defines the default behaviour, so it's your application that controls this.

Did you check that you have sessions that are show as "IDLE in transaction" in pg_stat_activity?

Regards
Thomas



pgsql-general by date:

Previous
From: "Sven Haag"
Date:
Subject: Re: Table lock while adding a column and clients are logged in
Next
From: Glenn Maynard
Date:
Subject: pg_dump generating unrestorable data (8.4)