pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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

view thread (17+ messages)  latest in thread

Message-ID: <20190119000827.GB2660@paquier.xyz>
Permalink:  ../20190119000827.GB2660@paquier.xyz/
Also on:    postgresql.org/message-id/20190119000827.GB2660@paquier.xyz

 · 

reply

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