Якщо ви хочете вставити стовпці з UUID (це не зовсім ваш випадок) і додати до @Dennis відповідь (я поки не можу коментувати), порадьте, ніж використовувати gen_random_uuid () (вимагає PG 9.4 та pgcrypto модуля) є ( багато) швидше, ніж uuid_generate_v4 ()
=# explain analyze select uuid_generate_v4(),* from generate_series(1,10000);
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------
Function Scan on generate_series (cost=0.00..12.50 rows=1000 width=4) (actual time=11.674..10304.959 rows=10000 loops=1)
Planning time: 0.157 ms
Execution time: 13353.098 ms
(3 filas)
проти
=# explain analyze select gen_random_uuid(),* from generate_series(1,10000);
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------
Function Scan on generate_series (cost=0.00..12.50 rows=1000 width=4) (actual time=252.274..418.137 rows=10000 loops=1)
Planning time: 0.064 ms
Execution time: 503.818 ms
(3 filas)
Крім того, це запропонований офіційний спосіб зробити це
Примітка
Якщо вам потрібні лише випадково генеровані UUID (версія 4) UUID, розгляньте замість цього функцію gen_random_uuid () з модуля pgcrypto.
Час вставки, що випав, від ~ 2 години до ~ 10 хвилин протягом 3,7 М рядків.