Could someone be please inform me what the correct syntax for accessing arrays is or tell me if its not possible with pl/pgSQL functions.
It won't work in 7.3.x or before, as you've noted. In 7.4 this will work:
CREATE OR REPLACE FUNCTION test_arrays() RETURNS int4[] AS ' DECLARE test int4[] := ''{}''; BEGIN test[1] := 1; RETURN test; END ' LANGUAGE 'plpgsql';
regression=# select test_arrays(); test_arrays ------------- {1} (1 row)
Note that you have to initialize "test" to an empty array, because otherwise you are trying to add an element to a NULL::int4[], the result of which is still NULL.
Joe
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html