Для тестирования базы данных я хотел бы сгенерировать количество строк, каждая из которых состоит из массива случайных чисел заданной длины.Я могу легко сгенерировать n рядов случайных чисел:
select round(random()*10) from generate_series(1,5);
, и я могу сгенерировать массив случайных чисел:
select array(select round(random()*10) from generate_series(1,5));
, но если я соберу их вместеподзапрос array()
выполняется только один раз:
select array(select round(random()*10) from generate_series(1,5)) from generate_series(1,5);
array
--------------
{10,8,1,7,4}
{10,8,1,7,4}
{10,8,1,7,4}
{10,8,1,7,4}
{10,8,1,7,4}
(5 rows)
Как мне запустить подзапрос для каждой строки?