--- Tom Lane <tgl@sss.pgh.pa.us> wrote:
> In practice I'm not sure that this is really a situation that we need to
> fret about, because using a datatype that isn't in your search path has
> got notational problems that are orders of magnitude worse than this
> one. The functions and operators that do something useful with the
> datatype would also have to be schema-qualified every time you use them.
> This is perhaps tolerable for functions but it's quite unpleasant for
> operators :-( You can't write
> select * from foo where my_uuid = 'xxx';
> instead
> select * from foo where my_uuid operator(my_schema.=) 'xxx';
> Yech. I think you'll end up putting uuid's schema in your search path
> before long anyway.
Right you are. I guess the moral of the story is that when using custom
datatypes, search_path is a required setting. I guess that is why the "public"
schema should be just that, completely accessable by any user with rights to
the DB. So, is the best-practice for the my_schema tables to reference the
user-defined datatype in the "public" schema?
CREATE TABLE my_schema.foo (uuid public.uniqueidentifier);
__________________________________
Do you Yahoo!?
Friends. Fun. Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/