En sequence i PostgreSQL gör exakt samma sak som AUTOINCREMENT i MySQL. En sequence är effektivare än en uuid eftersom det är 8 byte istället för 16 för uuid . Du kan använda en uuid som en primärnyckel, precis som de flesta andra datatyper.
Jag ser dock inte hur detta relaterar till maskering av ett användar-ID. Om du vill maskera en viss användares ID från andra användare bör du noggrant hantera tabellprivilegierna och/eller hasha ID:t med - till exempel - md5() .
Om du vill skydda en tabell med användardata från snokande hackare som försöker gissa andra ID:n, måste uuid typ är ett utmärkt val. Paketet uuid-ossp har flera smaker. Version 4 är då det bästa valet eftersom den har 122 slumpmässiga bitar (de övriga 6 används för identifiering av versionen). Du kan skapa en primärnyckel så här:
id uuid PRIMARY KEY DEFAULT uuid_generate_v4()
och då behöver du aldrig oroa dig för det längre.
PostgreSQL 13+
Du kan nu använda den inbyggda funktionen gen_random_uuid() för att få en version 4 slumpmässig UUID.