From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: pgsql: Restrict the use of temporary namespace in two-phase transaction
Date: Sat, 19 Jan 2019 09:08:27 +0900
Message-ID: <20190119000827.GB2660@paquier.xyz> (raw)
In-Reply-To: <499.1547843670@sss.pgh.pa.us>
References: <E1gkHvw-00010c-3O@gemulon.postgresql.org>
<20190118005949.GD1883@paquier.xyz>
<25291.1547773687@sss.pgh.pa.us>
<CA+TgmoZaCNTxXzV76zuyMuc8N9vU6RgEhVu8t9dXDcKqThUW7A@mail.gmail.com>
<499.1547843670@sss.pgh.pa.us>
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
Attachments:
signature.asc (application/pgp-signature, 832B) download
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: michael@paquier.xyz, tgl@sss.pgh.pa.us, robertmhaas@gmail.com, pgsql-hackers@lists.postgresql.org
Subject: Re: pgsql: Restrict the use of temporary namespace in two-phase transaction
In-Reply-To: <20190119000827.GB2660@paquier.xyz>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox