Prefiero esta sintaxis (alrededor de un 5 % más rápido)
create or replace function public.array_unique(arr anyarray)
returns anyarray as $body$
select array( select distinct unnest($1) )
$body$ language 'sql';
usando:
select array_unique(ARRAY['1','2','3','4','4']);