Не е изненада. Езикът SQL не поддържа променливи. Трябва да използвате езика plpgsql.
CREATE OR REPLACE FUNCTION clean_emp()
RETURNS void AS $$
DECLARE cnt varchar;
BEGIN
END;
$$ LANGUAGE plpgsql;
Вижте повече в документацията http://www.postgresql.org/docs/current /static/plpgsql.html .
PostgreSQL има повече езици за функция за писане. Езикът SQL е перфектен за едноредови макроси с единичен оператор. PLpgSQL е класически роден език, подобен на PL/SQL на Oracle с вграден SQL.