Jeff Eckermann <jeff@akira.eckermann.com> writes:
> extracts=# create function testfunc(text) returns int4 as '
> extracts'# select count (*) from dedcolo where equip_type = ''$1''    --- That's doubled single quotes
> extracts'# ' language 'sql';
> CREATE
That's looking for rows where equip_type = '$1'  ... ie, the literal
string $1.  What you probably wanted is
create function testfunc(text) returns int4 as '
select count (*) from dedcolo where equip_type = $1
' language 'sql';
            regards, tom lane