Re: ALTER OBJECT any_name SET SCHEMA name
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-11-05T16:48:02Z
Lists: pgsql-hackers
Dimitri Fontaine <dimitri@2ndQuadrant.fr> writes: > Alvaro Herrera <alvherre@commandprompt.com> writes: >> Frankly, the get_extension_namespace bit still feels wrong to me. I >> would have the namespace be present in the pg_extension catalog, even if >> it's not part of the primary key. > Well, I'm thinking that: > - namespace columns in the catalogs are actually all for objects that > live in a schema and extension do not I'm with Alvaro on this. If we're going to have an ALTER EXTENSION SET SCHEMA operation, then extensions must have a well-defined schema property, and it would be good if that connection were explicitly represented in the catalogs. Digging stuff out of pg_depend sucks; we have to do it in some other cases where we didn't foresee the connection in advance, but we can see it well enough here. BTW, I'm not even 100% convinced that the schema shouldn't be part of the extension's name, if we're going to make it work like this. Is there a reason I shouldn't be able to have both public.myextension and testing.myextension? If we're constraining all the objects owned by the extension to live in a single schema, this seems perfectly feasible. regards, tom lane