2016-12-05 95 views
1

我使用PostgreSQL 9.5。 我想用一個固定大小創建一個數組,像這樣:固定大小的數組

CREATE TABLE eco.test ( 
    id   text NOT NULL, 
    test_array integer[3], 
    CONSTRAINT pk_aircrafts PRIMARY KEY (id) 
); 

也就是說,我想test_array的規模將是3

但是,我可以做這樣的:

INSERT INTO eco.test(id, test_array) VALUES ('1', '{1,2,3,4}') 

所有的一切都將被罰款。

select * from eco.test; 
id | test_array 
'1' {1,2,3,4} 

如何製作固定大小的數組?

回答

2

創建CHECK constraint迫使array_ndims(test_array) = 1 AND array_length(test_array, 1) = 3

+0

替代地使用'基數()'9.5 –