Postgresql
PostgreSQL 生成 UUID 的兩種不同方式:gen_random_uuid vs uuid_generate_v4?
以下兩個函式有什麼區別
gen_random_uuid()
由pgcrypto
擴展提供uuid_generate_v4()
由uuid-ossp
擴展提供他們在幕後是一樣的嗎?使用一個對性能有影響嗎?
他們是一樣的嗎?
不。
uuid-ossp的Postgres 文件建議使用
gen_random_uuid()
如果您只需要隨機生成的(版本 4)UUID,uuid-ossp 擴展還提供了其他類型的 UUID(例如基於 mac-addresses)
區別?
我查看了原始碼並發現
uuid_generate_v4()
使用 arc4random 確定隨機部分。gen_random_uuid()
使用 fortuna 代替。除此之外,他們做同樣的工作。