Iterando sobre entero [] en PL / pgSQL

Estoy intentando recorrer una matriz de enteros integer[]) en una función plpgsql. Algo como esto

declare
    a integer[] = array[1,2,3];
    i bigint;
begin
    for i in a
loop 
    raise notice "% ",i;
end loop;
return true;
end

En mi caso de uso real, la matriz enteraa se pasa como parámetro a la función. Me sale este error:

ERROR:  syntax error at or near "$1"
LINE 1:   $1

¿Cómo recorrer la matriz correctamente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta