On 2014-04-04 14:32:46 -0400, Tom Lane wrote: > Andres Freund <and...@2ndquadrant.com> writes: > > I was thinking - but not saying explicitly - of rigging things so that > > pg_catalog is ignored when searching for the target schema for object > > creation unless explicitly specified. So if there's no other schema in > > the search path you'd get the error about no "no schema has been > > selected to create in", even if pg_catalog is somewhere in there. > > Hm. Seems pretty grotty, but it'd at least fix pg_dump's problem, > since pg_dump's lists are always "foo, pg_catalog" with no third > schema mentioned. I think what we'd actually need is to say > "pg_catalog cannot be selected as the creation target unless it's > the *first* entry in the search_path list".
I was actually suggesting that the only way to create something in pg_catalog is to do it with a explicit schema qualified id. I realize that that's not something backpatchable... > The larger issue here is that if search_path is say "a, b, c" and > "a" doesn't exist, is it really sane to create in "b" instead? I think "$user" really nailed that behaviour down. Everything else just seems really confusing. We could of course make that behave special as you suggest, but yuck. Greetings, Andres Freund -- Andres Freund 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