FK check implementation

Поиск
Список
Период
Сортировка
От Nick Barnes
Тема FK check implementation
Дата
Msg-id CAG+WGG=uN0SvSQ7qELOeFu2QzCrG+hEav_qbvOqJ9=W0xkfrJA@mail.gmail.com
обсуждение исходный текст
Ответы Re: FK check implementation  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
I'm looking at the code behind the foreign key checks in ri_triggers.c, and something's got me a little confused.

In both cases (FK insert/update checking the PK, and PK update/delete checking the FK) the check is done with a SELECT ... FOR KEY SHARE.

This makes perfect sense for PK checks, but in the FK check, it seems pointless at best; if it actually manages to find something to lock, it will fail the check and error out moments later. And in any case, I don't see how the key fields in the FK relation (to which the KEY SHARE lock applies) are even relevant to the constraint in question.

What am I missing?

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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: PostgreSQL server won't start, corrupt?
Следующее
От: Merlin Moncure
Дата:
Сообщение: Re: PostgreSQL server won't start, corrupt?