To nie jest niespodzianka. Język SQL nie obsługuje zmiennych. Musisz użyć języka plpgsql.
CREATE OR REPLACE FUNCTION clean_emp()
RETURNS void AS $$
DECLARE cnt varchar;
BEGIN
END;
$$ LANGUAGE plpgsql;
Zobacz więcej w dokumentacji http://www.postgresql.org/docs/current /static/plpgsql.html .
PostgreSQL ma więcej języków do pisania funkcji. Język SQL doskonale nadaje się do jednowierszowych makr z pojedynczą instrukcją. PLpgSQL jest klasycznym językiem natywnym podobnym do PL/SQL firmy Oracle z osadzonym SQL.