Re: ALTER TABLE deadlock with concurrent INSERT
| От | Tom Lane |
|---|---|
| Тема | Re: ALTER TABLE deadlock with concurrent INSERT |
| Дата | |
| Msg-id | 13960.1299098503@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | ALTER TABLE deadlock with concurrent INSERT (Joe Conway <mail@joeconway.com>) |
| Ответы |
Re: ALTER TABLE deadlock with concurrent INSERT
|
| Список | pgsql-hackers |
Joe Conway <mail@joeconway.com> writes:
> I'm working with a client on an application upgrade script which
> executes a function to conditionally do an:
> ALTER TABLE foo ALTER COLUMN bar SET DATA TYPE baz
> If this is run while the application is concurrently doing inserts into
> foo, we are occasionally seeing deadlocks. Aside from the fact that they
> are better off not altering the table amid concurrent inserts, I'm
> trying to understand why this is even able to happen. I expect one to
> block the other, not a deadlock.
Looks like the process trying to do the ALTER has already got some
lower-level lock on the table. It evidently hasn't got
AccessExclusiveLock, but nonetheless has something strong enough to
block an INSERT, such as ShareLock.
regards, tom lane
В списке pgsql-hackers по дате отправления: