沒有用於此目的的特殊功能 - array_fill:
postgres=# select array_fill(0, ARRAY[10]);
array_fill
-----------------------
{0,0,0,0,0,0,0,0,0,0}
(1 row)
postgres=# select array_fill('Hello'::text, ARRAY[10]);
array_fill
---------------------------------------------------------------
{Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello}
(1 row)
postgres=# select array_fill(0, ARRAY[3,3]);
array_fill
---------------------------
{{0,0,0},{0,0,0},{0,0,0}}
(1 row)
在PL/pgSQL的(但對於大型陣列顯著慢(超過100個項目):
DO $$
DECLARE
result int[] = '{}';
BEGIN
FOR i IN 1..10
LOOP
result := result || 0;
END LOOP;
RAISE NOTICE '%', result;
END;
$$;
所以你要動態地創建陣列,陣列上環?從你的例子來看,並不清楚(對我來說)。你可以使用'array_append'來添加數組中的元素,如果這是你需要的 - http://www.postgresql.org/docs/current/static/functions-array.html –