Re: pg_dump doesn't dump new objects created in schemas from extensions
От | Tom Lane |
---|---|
Тема | Re: pg_dump doesn't dump new objects created in schemas from extensions |
Дата | |
Msg-id | 29478.1466605967@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: pg_dump doesn't dump new objects created in schemas from extensions (Martín Marqués <martin@2ndquadrant.com>) |
Ответы |
Re: pg_dump doesn't dump new objects created in schemas from
extensions
|
Список | pgsql-bugs |
Martín Marqués <martin@2ndquadrant.com> writes: > This is a new version of your patch that checks for schema inclusion or > exclusion. > If there are no complains, I could apply similar changes on other > objects for a more complete patch. > Thoughts, objections? This patch seems to me to be entirely the wrong approach, as what it will result in is an enormous amount of code duplication. There's nothing fundamentally wrong with looking at the parent namespace to decide whether to dump or not. The difficulty is that we need to draw a distinction *at the namespace level* between "dump this namespace" and "dump objects within this namespace". The correct behavior for a namespace owned by an extension is to do the latter (for objects not belonging to any extension) but not the former. So instead of just one "dump" flag, we need two such flags for namespaces. The various selectDumpableFoo routines need one-line adjustments as to which flag they look at in the parent namespace. They do *not* need copy-and-paste of their entire current contents. In HEAD, this should be a pretty straightforward change since Stephen Frost has already created infrastructure that allows distinguishing which "components" of an object to dump. There doesn't seem to be a bit that corresponds to "objects within this schema", but that shouldn't be hard to add. The DUMP_COMPONENT infrastructure doesn't exist in older branches so I think you'd just have to invent an additional bool field in NamespaceInfo structs to say whether to dump contained objects. A slightly different approach is to ignore the DumpComponents stuff and just add a bool field in NamespaceInfo for all branches. Perhaps this would even be the right thing, as I may be misunderstanding what Stephen intends the DumpComponents bits to be used for. Would be interesting to hear Stephen's take on this. regards, tom lane
В списке pgsql-bugs по дате отправления: