sequence
v PostgreSQL dělá přesně to samé jako AUTOINCREMENT
v MySQL. sequence
je efektivnější než uuid
protože to je 8 bajtů místo 16 pro uuid
. Můžete použít uuid
jako primární klíč, stejně jako většina ostatních datových typů.
Nevidím však, jak to souvisí s maskováním ID uživatele. Pokud chcete zamaskovat ID určitého uživatele před ostatními uživateli, měli byste pečlivě spravovat oprávnění tabulky a/nebo hashovat ID pomocí - například - md5()
.
Pokud chcete chránit tabulku s uživatelskými daty před slídícími hackery, kteří se snaží uhodnout jiná ID, pak uuid
typ je skvělá volba. Balíček uuid-ossp
má několik příchutí. Verze 4 je pak nejlepší volbou, protože má 122 náhodných bitů (ostatních 6 se používá k identifikaci verze). Primární klíč můžete vytvořit takto:
id uuid PRIMARY KEY DEFAULT uuid_generate_v4()
a pak už se o to nikdy nebudete muset starat.
PostgreSQL 13+
Nyní můžete použít vestavěnou funkci gen_random_uuid()
získat náhodné UUID verze 4.