Sebagai permulaan, dimensi array tidak tercermin dalam tipe data di Postgres. Sintaks integer[][]
ditoleransi, tetapi sebenarnya hanya integer[]
internal.
Baca manualnya di sini.
Artinya, dimensi dapat bervariasi dalam tipe data yang sama (kolom tabel yang sama).
Untuk mendapatkan dimensi sebenarnya dari array tertentu nilai :
SELECT array_dims(my_arr); -- [1:2][1:3]
Atau hanya untuk mendapatkan jumlah dimensi:
SELECT array_ndims(my_arr); -- 2
Ada lebih banyak fungsi array untuk kebutuhan serupa. Lihat tabel fungsi array di manual.
Terkait:
Jika Anda perlu menerapkan dimensi tertentu dalam kolom, tambahkan CHECK
kendala
. Untuk menerapkan array 2 dimensi:
ALTER TABLE tbl ADD CONSTRAINT tbl_arr_col_must_have_2_dims
CHECK (array_ndims(arr_col) = 2);