因此,我在一个int类型的表上有一个数组列,我正在对一百万行进行负载测试,每个记录需要四个数组元素,每个元素都有不同的值。
INSERT INTO contacts (numbers)
SELECT '{4443331111, 2223334444, 2223339999, 8887779999}'
FROM generate_series(1,2) AS x(id);
这将创建2条记录,但我需要这些数字是唯一的。
最佳答案
INSERT INTO contacts (numbers)
SELECT distinct array[
(random() * 99999999)::integer,
(random() * 99999999)::integer,
(random() * 99999999)::integer,
(random() * 99999999)::integer
]
FROM generate_series(1, 1000000) AS x(id);
请注意,数字888779999超出整数的范围。所以也许你想要大整数。