PostgreSQL - redondeando números de punto flotante

Tengo una pregunta para principiantes sobre los números de punto flotante en PostgreSQL 9.2.

¿Existe una función para redondear un número de punto flotante directamente, es decir, sin tener que convertir primero el número a un tipo numérico?

Además, me gustaría saber si hay una función para redondear por una unidad de medida arbitraria, como la 0.05 más cercana.

Al convertir el número en una forma decimal primero, la siguiente consulta funciona perfectamente:

SELECT round(1/3.::numeric,4);

 round  
--------
 0.3333
(1 row)
Time: 0.917 ms

Sin embargo, lo que realmente me gustaría lograr es algo como lo siguiente:

SELECT round(1/3.::float,4);

que actualmente me da el siguiente error:

ERROR:  function round(double precision, integer) does not exist at character 8
Time: 0.949 ms

Gracias