vas por buen camino.
i no está definida porque simula el contenido del array.
Prueba esto:
Código SQL:
Ver originalSELECT MIN(mi_array), MAX(mi_array) FROM (SELECT unnest(array[1,4,5,6,8,9,45]) mi_array) AS mi_tabla_en_memoria;
Lo que está entre parentesis en una tabla en memoria generada por una subconsulta.
Ejecuta esto y veras que te encuentra el maximo y el minimo.
saludos