Una sequence
in PostgreSQL fa esattamente lo stesso di AUTOINCREMENT
in MySQL. Una sequence
è più efficiente di un uuid
perché è 8 byte invece di 16 per uuid
. Puoi usare un uuid
come chiave primaria, proprio come la maggior parte degli altri tipi di dati.
Tuttavia, non vedo come ciò si riferisca al mascheramento di un ID utente. Se si desidera mascherare l'ID di un determinato utente da altri utenti, è necessario gestire con attenzione i privilegi della tabella e/o eseguire l'hashing dell'ID utilizzando, ad esempio, md5()
.
Se vuoi proteggere una tabella con i dati dell'utente da hacker ficcanaso che stanno cercando di indovinare altri ID, allora uuid
il tipo è una scelta eccellente. Pacchetto uuid-ossp
ha diversi gusti. La versione 4 è quindi la scelta migliore in quanto ha 122 bit casuali (gli altri 6 sono usati per identificare la versione). Puoi creare una chiave primaria come questa:
id uuid PRIMARY KEY DEFAULT uuid_generate_v4()
e poi non dovrai più preoccupartene.
PostgreSQL 13+
Ora puoi usare la funzione integrata gen_random_uuid()
per ottenere un UUID casuale della versione 4.