jam3 <jamorton3@xxxxxxxxx> wrote: > create or replace function test1(c1 char(10), c2 varchar(20)) > Just showing that it does indeed not use the length in at all Correct. That is functioning as intended and is not likely to change any time soon. You might consider using domains: drop function if exists test1(c1 t1, c2 t2); drop table if exists test_table; drop domain if exists t1; drop domain if exists t2; create domain t1 varchar(10); create domain t2 varchar(20); create table test_table ( column1 char(20), column2 varchar(40) ) without oids; create or replace function test1(c1 t1, c2 t2) returns void as $$ BEGIN insert into test_table values ($1, $2); END $$ language plpgsql; select test1('12345678900123456789', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCD'); select * from test_table; -Kevin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general