Re: pg_dump with tables created in schemas created by extensions - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: pg_dump with tables created in schemas created by extensions
Date
Msg-id CAB7nPqQX2-2JdVHE02s3s42oQpC-J71qDMs0HdWfGeEH8g4d8w@mail.gmail.com
Whole thread Raw
In response to Re: pg_dump with tables created in schemas created by extensions  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Responses Re: pg_dump with tables created in schemas created by extensions  (Martín Marqués <martin@2ndquadrant.com>)
List pgsql-hackers
On Sat, Aug 27, 2016 at 8:15 AM, Tomas Vondra
<tomas.vondra@2ndquadrant.com> wrote:
> On 08/27/2016 12:37 AM, Tom Lane wrote:
>> Martín Marqués <martin@2ndquadrant.com> writes:
>>> Looking at this issue today, I found that we are not setting a
>>> dependency for an index created inside an extension.
>>
>> Surely the index has a dependency on a table, which depends on the
>> extension?
>>
>> If you mean that you want an extension to create an index on a table
>> that doesn't belong to it, but it's assuming pre-exists, I think
>> that's just stupid and we need not support it.
>
> I don't see why that would be stupid (and I'm not sure it's up to us to just
> decide it's stupid).

Like Tomas, I am not really getting this opposition..

> I see the current behavior is documented, and I do understand why global
> objects can't be part of the extension, but for indexes it seems to violate
> POLA a bit.
>
> Is there a reason why we don't want the extension/index dependencies?

I think that we could do a better effort for indexes at least, in the
same way as we do for sequences as both are referenced in pg_class. I
don't know the effort to get that done for < 9.6, but if we can do it
at least for 9.6 and 10, which is where pg_dump is a bit smarter in
the way it deals with dependencies, we should do it.
-- 
Michael



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Missing checks when malloc returns NULL...
Next
From: Craig Ringer
Date:
Subject: Re: [PATCH] Transaction traceability - txid_status(bigint)