Re: Mention FK creation take ShareRowExclusiveLock on referencedtable

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: Mention FK creation take ShareRowExclusiveLock on referencedtable
Дата
Msg-id 20180919025302.GF1650@paquier.xyz
обсуждение исходный текст
Ответ на Mention FK creation take ShareRowExclusiveLock on referenced table  (Adrien NAYRAT <adrien.nayrat@anayrat.info>)
Ответы Re: Mention FK creation take ShareRowExclusiveLock on referencedtable  (Adrien Nayrat <adrien.nayrat@anayrat.info>)
Список pgsql-docs
On Tue, Sep 18, 2018 at 12:32:54PM +0200, Adrien NAYRAT wrote:
> A few days ago I was surprised a CREATE TABLE containing FK constraint was
> stuck due to an automatic vacuum freeze (which took ShareUpdateExclusiveLock
> if I remember) on referenced table.

Right.  See the top of vacuum_rel() where lmode is set.

> After digging into the code I found theses lines in tablecmds.c :
>
> /*
>  * Grab ShareRowExclusiveLock on the pk table, so that someone doesn't
>  * delete rows out from under us.
>  */
>
> Maybe it should be documented in theses pages?
>
> https://www.postgresql.org/docs/current/static/sql-createtable.html
> https://www.postgresql.org/docs/current/static/sql-altertable.html
>
> If you agree I can send a patch.

That looks like a good idea.  Are you thinking about adding a comment
about that in "ADD table_constraint" for the ALTER TABLE page, and in
"FOREIGN KEY" for the CREATE TABLE page?
--
Michael

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Ambiguity in restore_command for recovery.conf
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Punctuation error