Разница между array и unnest в PostgreSQL заключается в их назначении:
- array позволяет определять столбцы таблицы как многомерные массивы переменной длины. 1 С его помощью можно создавать массивы любого встроенного или определённого пользователем базового типа, типа перечисления, составного типа, типа диапазона или домена. 1
- unnest преобразует указанный массив в коллекцию строк. 3 Функция unnest создаёт одну строку для каждого элемента в соответствующем массиве исходной строки. 1
Таким образом, array используется для определения и работы с массивами, а unnest — для преобразования их в серию строк. 2 Например, с помощью unnest можно обработать содержимое массива как будто это ещё одно отношение. 4