Re: temp table same name real table

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: temp table same name real table
Дата
Msg-id 841734.1601476889@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: temp table same name real table  (Michael Lewis <mlewis@entrata.com>)
Ответы Re: temp table same name real table  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-general
Michael Lewis <mlewis@entrata.com> writes:
> IMO, you are asking for strange behavior when you overload a table name.

> I expect that one of the people who work down deep down in the code will
> say it is a caching thing that saves system table lookups.

Yeah, I think that on the second call, plpgsql caches a query plan that
references the permanent table, and then it sees no reason to reconsider
that plan on the third call.  (Change of search_path is one of the
conditions that would prompt throwing away the cached plan, which
fits that part of the report.  But creating a temp table that happens
to shadow a real table is not one.)

If you really really need to do this, I'd counsel using EXECUTE to
ensure no caching happens.  But I concur with Michael that it's
fundamentally a bad idea.

            regards, tom lane



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

Предыдущее
От: Devrim Gündüz
Дата:
Сообщение: Re: Yum repository RPM behind release
Следующее
От: Laurenz Albe
Дата:
Сообщение: Re: Problem close curser after rollback