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.