Получение последнего элемента массива без подзапросов и переворотов — вариант для вычисляемых столбцов GENERATED ALWAYS AS STORED
Пример на литеральном обозначении массива:
SELECT (ARRAY[11,22,33,44])[(array_length(ARRAY[11,22,33,44], 1))];
Пример на ссылочном обозначении массива:
SELECT (arr)[(array_length(arr, 1))];
Вместо «arr» нужно подставить своё выражение до массива.
SQL-запрос на переворот массива и получение первого элемента — через подзапросы
SELECT (SELECT ARRAY(SELECT array_item FROM unnest(ARRAY[1, 2, 3, 4, 5]) WITH ORDINALITY AS t(array_item, position) ORDER BY position DESC))[1];
Жирным красным шрифтом выделено место, куда ты должен подставить свой массив.
Напоминаю, что индексы элементов массивов в PostgreSQL начинаются с единицы (1), а не с нуля (0).
Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org
Команды SQL — https://postgrespro.ru/docs/postgresql/15/sql-commands