手始めに、配列の次元はPostgresのデータ型に反映されません。構文integer[][]
許容されますが、実際にはinteger[]
内部的に。
つまり、同じデータ型(同じテーブル列)内でディメンションが異なる可能性があります。
特定の配列の実際の寸法を取得するには値 :
SELECT array_dims(my_arr); -- [1:2][1:3]
または、次元数を取得するには:
SELECT array_ndims(my_arr); -- 2
同様のニーズに対応する配列関数は他にもあります。マニュアルの
関連:
列に特定のディメンションを適用する必要がある場合は、 CHECK
制約
。 2次元配列を適用するには:
ALTER TABLE tbl ADD CONSTRAINT tbl_arr_col_must_have_2_dims
CHECK (array_ndims(arr_col) = 2);