La réponse dépend du type de données réel de la colonne salary . Le point clé est que round() dans Postgres n'autorise pas float s (uniquement numeric sont pris en charge).
Si vous avez affaire à un numeric type de données, alors vous pouvez d'abord round() , puis transtypé en float :
round(avg(salary), 2)::float
Si vous avez affaire à un float colonne, alors vous devrez caster le résultat de la fonction d'agrégation avant d'utiliser round() dessus :
round(avg(salary)::numeric, 2)::float