Функция array_length в PostgreSQL возвращает NULL для пустых массивов, потому что пустой массив не имеет размерностей, а функция возвращает количество элементов в определённом измерении массива. 1
Например, если указать измерение, которое не существует в массиве, функция вернёт NULL. 3