Re: Table lock while adding a column and clients are logged in

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Table lock while adding a column and clients are logged in
Date: 2011-04-03 13:37:17
Message-ID: in9t6d$ne2$2@dough.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sven Haag 2011-04-03 14:13:59 Re: Table lock while adding a column and clients are logged in
Previous Message Thomas Kellerer 2011-04-03 13:34:23 Re: Table lock while adding a column and clients are logged in