Re: pgsql: Restrict the use of temporary namespace in two-phasetransaction

Поиск
Список
Период
Сортировка
Искать
От
Michael Paquier
Тема
Re: pgsql: Restrict the use of temporary namespace in two-phasetransaction
Дата
Msg-id
20190119000827.GB2660@paquier.xyz
Ответ на
Список
Дерево обсуждения
Re: pgsql: Restrict the use of temporary namespace in two-phasetransaction Michael Paquier <michael@paquier.xyz>
Re: pgsql: Restrict the use of temporary namespace in two-phasetransaction Michael Paquier <michael@paquier.xyz>
On Fri, Jan 18, 2019 at 03:34:30PM -0500, Tom Lane wrote:
> Seems hard to avoid.  We could conceivably make it return "pg_temp"
> for the temp schema instead of the schema's actual name, but it's
> not very hard to think of ways whereby that would make use of the
> result fail in contexts where it previously worked.

CREATE EXTENSION is one such case.  It would not work if referring to
the synonym pg_temp, but it can work if using directly the temporary
namespace of the session.  So I feel that changing such things is
prone to break more things than to actually fix things.

> Another idea is to force creation of the temp namespace as soon as
> we see that search_path references it.  I'm not very sure exactly
> where would be a convenient place to make that happen, though.
> There are paths whereby the GUC's value will change outside a
> transaction, so we couldn't tie it directly to the GUC update.

This is documented at the top of namespace.c: "initial GUC processing
of search_path happens outside a transaction".
--
Michael
В списке pgsql-hackers по дате отправления
От: Peter Geoghegan
Дата:
От: Tom Lane
Дата:
FAQ