PL/pgSQL docs say "PL/pgSQL variables can have any SQL datatype".
but when i try: CREATE FUNCTION foo() RETURNS NUMERIC(5,2) AS ' DECLARE bar NUMERIC(5,2); BEGIN bar := 123.45; return bar; END; ' LANGUAGE 'plpgsql'; then "select foo()" gives: NOTICE: plpgsql: ERROR during compile of foo near line 2 ERROR: parse error at or near "(" declaring bar as "FLOAT8" (for example) works as expected. from a quick look at plpgsql/src/gram.y, the decl_dtypename rule only allows type modifiers (decl_attypmod) on CHAR, VARCHAR or BPCHAR. scan.l doesn't even recognise NUMERIC or DECIMAL as keywords. (debian postgresql 7.1.3-6 package on Linux/Intel) -- - Gus ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster