Re: Extensions support for pg_dump, patch v27
Dimitri Fontaine <dimitri@2ndquadrant.fr>
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Dimitri Fontaine <dimitri@2ndQuadrant.fr>, Itagaki Takahiro <itagaki.takahiro@gmail.com>, "David E. Wheeler" <david@kineticode.com>, David Fetter <david@fetter.org>, PostgreSQL-Hackers <pgsql-hackers@postgresql.org>
Date: 2011-01-26T15:39:38Z
Lists: pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.us> writes:
> Dimitri Fontaine <dimitri@2ndQuadrant.fr> writes:
>> The missing entry in pg_depend is the reason why the extension is not
>> part of the dump. We could fix that using a LEFT JOIN here and COALESCE
>> to force the namespace as pg_catalog. Is that not a kludge?
>
> Yes, it is. Why is the pg_depend entry missing?
See src/backend/catalog/pg_depend.c
/*
* If the referenced object is pinned by the system, there's no real
* need to record dependencies on it. This saves lots of space in
* pg_depend, so it's worth the time taken to check.
*/
Certainly, pg_catalog is pinned.
select *
from pg_depend
where refobjid = (select oid
from pg_namespace
where nspname = 'pg_catalog')
and refclassid = 'pg_namespace'::regclass;
classid | objid | objsubid | refclassid | refobjid | refobjsubid | deptype
---------+-------+----------+------------+----------+-------------+---------
0 | 0 | 0 | 2615 | 11 | 0 | p
(1 row)
Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support