En sequence i PostgreSQL gør nøjagtig det samme som AUTOINCREMENT i MySQL. En sequence er mere effektiv end en uuid fordi det er 8 bytes i stedet for 16 for uuid . Du kan bruge en uuid som en primær nøgle, ligesom de fleste andre datatyper.
Jeg kan dog ikke se, hvordan dette relaterer sig til maskering af et bruger-id. Hvis du vil maskere en bestemt brugers ID fra andre brugere, bør du omhyggeligt administrere tabelprivilegierne og/eller hash ID'et ved at bruge - for eksempel - md5() .
Hvis du vil beskytte en tabel med brugerdata mod snigende hackere, der forsøger at gætte andre id'er, skal uuid type er et glimrende valg. Pakke uuid-ossp har flere smagsvarianter. Version 4 er så det bedste valg, da den har 122 tilfældige bits (de øvrige 6 bruges til identifikation af versionen). Du kan oprette en primær nøgle som denne:
id uuid PRIMARY KEY DEFAULT uuid_generate_v4()
og så behøver du aldrig bekymre dig om det længere.
PostgreSQL 13+
Du kan nu bruge den indbyggede funktion gen_random_uuid() for at få en version 4 tilfældig UUID.