On Wed, Oct 21, 2009 at 3:05 AM, stefan <ste...@intermediate.de> wrote:

>
>
>
> Thanks, you were right, I added an additional commit which solved the
> problem. The hint was that the pg_lock view contained a lock entry which
> said granted "No".
>
> This raises though the question of isolation level, afaik postgres default
> is committed read. The doc says that another query would see the data as it
> was before the start of the transaction, which in my case would have been
> fine since the additional columns created by the alter statement were not
> used in the select which blocked.
> Is this some kind of "simple" implementation of a committed read ?
>

   Right, but that's only for statements that don't take a full table lock.
  Since your 'ALTER' statement was locking the whole table, those rules
don't apply -- i.e. Everyone even looking (selecting) the table would wait,
even if they didn't care about the new columns.  ALTER is a full lock,  no
matter what.


--Scott

Reply via email to