For testing a database I'd like to generate a number of rows, each consisting of a set length array of random numbers. I can generate n rows of random numbers easily:
select round(random()*10) from generate_series(1,5);
and I can generate an array of random numbers:
select array(select round(random()*10) from generate_series(1,5));
but if I put them together the array() subquery only gets executed once:
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)
How do I get the subquery to run for each row?