Robert Haas escribió: > On Tue, Jan 15, 2013 at 3:22 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > > Robert Haas <robertmh...@gmail.com> writes: > >> Or perhaps there is some other way to make sure that the user "really > >> meant it", like refusing to create in pg_catalog unless the schema > >> name is given explicitly. I kind of like that idea, actually. > > > > That does seem attractive at first glance. Did you have an > > implementation in mind? The idea that comes to mind for me is to hack > > namespace.c, either to prevent activeCreationNamespace from getting set > > to "pg_catalog" in the first place, or to throw error in > > LookupCreationNamespace and friends. I am not sure though if > > LookupCreationNamespace et al ever get called in contexts where no > > immediate object creation is intended (and thus maybe an error wouldn't > > be appropriate). > > As far as I can see, the principle place we'd want to hack would be > recomputeNamespacePath(), so that activeCreationNamespace never ends > up pointing to pg_catalog even if that's explicitly listed in > search_path. The places where we actually work out what schema to use > are RangeVarGetCreationNamespace() and > QualifiedNameGetCreationNamespace(), but those don't seem like they'd > need any adjustment, unless perhaps we wish to whack around the "no > schema has been selected to create in" error message in some way.
Robert, are you working on this? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers