Re: cannot move relocatable extension out of pg_catalog schema - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: cannot move relocatable extension out of pg_catalog schema
Date
Msg-id 510C3E0F.4000103@gmx.net
Whole thread Raw
In response to Re: cannot move relocatable extension out of pg_catalog schema  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: cannot move relocatable extension out of pg_catalog schema  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On 2/1/13 3:21 PM, Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
>> create extension hstore with schema pg_catalog;
>> alter extension hstore set schema public;
>> ERROR:  0A000: cannot remove dependency on schema pg_catalog because it
>> is a system object
>> drop extension hstore;  -- works
> 
>> I've seen this happen cleaning up after mistakenly misplaced extensions.
>>  I suspect this is a bug.
> 
> It's not a bug, it's an intentional implementation restriction that
> would be quite expensive to remove.
> 
> The reason it fails is that we don't record dependencies on system
> objects, and therefore there's no way for ALTER EXTENSION to modify
> those dependencies when trying to do SET SCHEMA.  That is, since
> pg_catalog is pinned, we don't have any explicit record of which
> objects in the extension would've needed dependencies on it, thus
> no way to manufacture the dependencies on schema public that would
> need to exist after the SET SCHEMA.

Fair enough.  It's not that important.

> I wonder whether it'd not be a better idea to forbid specifying
> pg_catalog as the target schema for relocatable extensions.

But that would be important, I think.




pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: json api WIP patch
Next
From: Peter Eisentraut
Date:
Subject: Re: obsolete code