UUID'ler ( tam olarak sizin durumunuz değil ) ile sütunlar eklemek ve @Dennis yanıtına (henüz yorum yapamıyorum) eklemek istiyorsanız , gen_random_uuid () (PG 9.4 ve pgcrypto modülünü gerektirir) kullanmaktan ( lot) uuid_generate_v4 () 'den daha hızlı
=# 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)
vs
=# 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)
Ayrıca, bunu yapmanın önerilen resmi yolu
Not
Yalnızca rastgele oluşturulmuş (sürüm 4) UUID'lere ihtiyacınız varsa, bunun yerine pgcrypto modülünden gen_random_uuid () işlevini kullanmayı düşünün.
Bu takma süresi 3.7M sıralar için ~ 2 saatten ~ 10 dakikaya düştü.