I was surprised to discover this today. I can work around it, but it seems counterintuitive. If 5 can't be parsed as a smallint, I would feel better if '5' was not one either. John DeSoi, Ph.D. psql (9.2.4) Type "help" for help. temp=# create or replace function itest (param smallint) returns integer as $$ select $1 + 5; $$ language sql; CREATE FUNCTION temp=# select itest(5); ERROR: function itest(integer) does not exist LINE 1: select itest(5); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. temp=# select itest('5'); itest ------- 10 (1 row) -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general