Като начало, размерността на масива не се отразява в типа данни в Postgres. Синтаксисът integer[][]
се толерира, но всъщност е само integer[]
вътрешно.
Прочетете ръководството тук.
Това означава, че измеренията могат да варират в рамките на един и същ тип данни (една и съща колона на таблица).
За да получите действителните размери на конкретен масив стойност :
SELECT array_dims(my_arr); -- [1:2][1:3]
Или просто да получите броя на измеренията:
SELECT array_ndims(my_arr); -- 2
Има повече функции за масиви за подобни нужди. Вижте таблица с функции за масиви в ръководството.
Свързани:
Ако трябва да наложите определени размери в колона, добавете CHECK
ограничение
. За да наложите двумерни масиви:
ALTER TABLE tbl ADD CONSTRAINT tbl_arr_col_must_have_2_dims
CHECK (array_ndims(arr_col) = 2);