From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: cannot move relocatable extension out of pg_catalog schema |
Date: | 2013-02-01 22:13:35 |
Message-ID: | 510C3E0F.4000103@gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2/1/13 3:21 PM, Tom Lane wrote:
> Peter Eisentraut <peter_e(at)gmx(dot)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.
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2013-02-01 22:16:35 | Re: obsolete code |
Previous Message | Robert Haas | 2013-02-01 22:08:36 | Re: json api WIP patch |