Jim Nasby <jim.na...@bluetreble.com> writes: > If we're going to magically create the schema (which at least for a > fully non-relocatable extension is fine), then I think we should also > mark the schema as being part of the extension.
If we do that, what happens to other objects that were added to the containing schema, sometime after creation of the extension? Surely those should not become dependent on the extension. > I'd even argue this is a > bug and should be backpatched, but if people object to that we should at > least change the behavior going forward. I disagree that this is a bug at all, much less that we should back-patch a behavioral change here. > As a refresher, the docs say this about fully non-relocatable extensions: As a refresher, the docs also say this about the target schema for an extension, about two paras down from where you quoted: "The target schema is determined by the schema parameter in the control file if that is given, otherwise by the SCHEMA option of CREATE EXTENSION if that is given, otherwise the current default object creation schema (the first one in the caller's search_path). When the control file schema parameter is used, the target schema will be created if it doesn't already exist, but in the other two cases it must already exist." I do not recall the full reasoning for this inconsistency in behavior, and since I'm on vacation I don't plan to go looking in the archives to find it. But this behavior was most certainly explicitly discussed and agreed to when we put in CREATE EXTENSION. If you want to lobby to change it, you'd better look up that discussion and refute the arguments therein. Simply asserting your opinion that a four-year-old behavior is wrong is not going to get you anywhere. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers