No hay IF expr THEN result ELSE result END
sintaxis para consultas SQL normales en Postgres. Como tampoco hay un IF()
funciona como en MySQL, tienes que usar CASE
:
select (
case (select '1')
when '1' then
case when 1=1 then 0.30::float else 0.50::float end
else
1.00::float
end
);