Über Integer [] in PL / pgSQL iterieren

Ich versuche eine Schleife durch ein Integer-Array integer[]) in einer plpgsql-Funktion. Etwas wie das

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

n meinem aktuellen Anwendungsfall ist das Integer-Arraya wird als Parameter an die Funktion übergeben. Ich erhalte diesen Fehler:

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

Wie kann ich das Array richtig durchlaufen?