Re: find_inheritance_children() and ALTER TABLE NO INHERIT

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: find_inheritance_children() and ALTER TABLE NO INHERIT
Дата
Msg-id 9532.1449115756@sss.pgh.pa.us
обсуждение исходный текст
Ответ на find_inheritance_children() and ALTER TABLE NO INHERIT  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Ответы Re: find_inheritance_children() and ALTER TABLE NO INHERIT  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Список pgsql-hackers
Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> writes:
> Currently find_inheritance_children() is smart enough to skip a child
> table that it finds has been dropped concurrently after it gets a lock on
> the same. It does so by looking up the child relid in syscache. It seems
> it should also check if the table is still in the list of children of the
> parent. Doing so by scanning the pg_inherits(inhparent) index may likely
> be inefficient. So, how about adding that syscache on
> pg_inherits(inherelid, inhparent) [1]?

I doubt that a syscache would fix the performance issue there; it wouldn't
get referenced enough to be likely to have the desired tuple in cache.

I wonder whether we could improve matters by rechecking validity of the
pg_inherits tuple (which we saw already and could presumably retain the
TID of).  There is at least one place where we do something like that now,
IIRC.
        regards, tom lane



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

Предыдущее
От: Haribabu Kommi
Дата:
Сообщение: Re: pg_hba_lookup function to get all matching pg_hba.conf entries
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Refactor Perl test code