Re: Lock levels for ALTER TABLE

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: Lock levels for ALTER TABLE
Дата
Msg-id CAB7nPqQpuQA2s-MqZnwacNyQg-DmPOsopErdvA9z0JpsmG4aew@mail.gmail.com
обсуждение исходный текст
Ответ на Lock levels for ALTER TABLE  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers


On Thu, Jan 10, 2013 at 11:22 AM, Bruce Momjian <bruce@momjian.us> wrote:
EnterpriseDB reports that our documentation states that ALTER TABLE
takes SHARE UPDATE EXCLUSIVE and ACCESS EXCLUSIVE lock modes.  However,
their testing shows only ACCESS EXCLUSIVE locks.  Is this accurate?
Have we changed how ALTER TABLE locks but didn't update our docs?
By looking at AlterTableGetLevelLock:tablecmds.c, you are right. All the ALTER TABLE operations now take an AccessExclusiveLock for all the commands since 9.1 due to issues with lower level locks involving things like catalog using SnapshotNow.
Docs should be updated in consequence.

The 9.1-prior locks can be reenabled by using the flag REDUCED_ALTER_TABLE_LOCK_LEVELS.
Perhaps this could also be specified in the docs.
--
Michael Paquier
http://michael.otacoo.com

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: lazy_vacuum_heap()'s removal of HEAPTUPLE_DEAD tuples
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Lock levels for ALTER TABLE