Search Postgresql Archives

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx>
An: pgsql-general@xxxxxxxxxxxxxx
Betreff: Re:  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

--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux