Re: Dependency isn't created between extension and schema

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, James Coleman <jtc331(at)gmail(dot)com>
Subject: Re: Dependency isn't created between extension and schema
Date: 2020-12-21 07:58:59
Message-ID: X+BVw4oc4f18W8aO@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Dec 21, 2020 at 04:02:29PM +0900, Masahiko Sawada wrote:
> Is it a bug? Since the created schema obviously depends on the
> extension when we created the schema specified in the schema option, I
> think we might want to create the dependency so that DROP EXTENSION
> drops the schema as well. I’ve attached the draft patch so that CREATE
> EXTENSION creates the dependency if it newly creates the schema.

FWIW, I recall that the "soft" behavior that exists now is wanted, as
it is more flexible for DROP EXTENSION: what you are suggesting here
has the disadvantage to make DROP EXTENSION fail if any non-extension
object has been created on this schema, so this could be disruptive
when it comes to some upgrade scenarios.

<term><replaceable class="parameter">schema_name</replaceable></term>
<listitem>
<para>
The name of the schema in which to install the extension's
objects, given that the extension allows its contents to be
relocated. The named schema must already exist.
While on it.. The docs are incorrect here. As you say,
CreateExtensionInternal() may internally create a schema.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro Horiguchi 2020-12-21 08:16:20 Re: shared-memory based stats collector
Previous Message Justin Pryzby 2020-12-21 07:47:25 Re: New Table Access Methods for Multi and Single Inserts