Odpověď závisí na aktuálním datovém typu sloupce salary . Klíčovým bodem je, že round() v Postgresu neumožňuje float s (pouze numeric typy jsou podporovány).
Pokud máte co do činění s numeric datový typ, pak můžete nejprve round() a poté přenést do float :
round(avg(salary), 2)::float
Pokud máte co do činění s float pak budete muset před použitím round() přetypovat výsledek agregační funkce na to:
round(avg(salary)::numeric, 2)::float