James Harper wrote >> >> You probably should define your domain like this: >> >> CREATE DOMAIN myvarchar varchar(42); >> > > That's what I thought, so it won't do what I want. I need to be able to > set the length at the time of declaration. > > So suppose I wanted to implement myvarchar in C. In my _in function, how > do I know how big my column declaration is? Eg if someone tries to insert > 50 characters into my 42 character field, how do I get the declared length > and then tell postgres that the data to be inserted is too big? > > Thanks > > James IMO. You are abusing the type system to implement things that should be defined using CHECK constraints. If indeed you are working with string I would avoid length-limited type mods and rely on checks/constraints. There isn't any viable alternative for numeric scale/precision type modifiers though :( There is no current way for a function body to examine the type modifiers of its input, domain or otherwise. David J. -- View this message in context: http://postgresql.1045698.n5.nabble.com/type-aliases-tp5792148p5792207.html Sent from the PostgreSQL - general mailing list archive at Nabble.com. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general