sql >> Base de Datos >  >> RDS >> PostgreSQL

¿UUID o SEQUENCE para la clave principal?

Una sequence en PostgreSQL hace exactamente lo mismo que AUTOINCREMENT en MySQL. Una sequence es más eficiente que un uuid porque son 8 bytes en lugar de 16 para el uuid . Puedes usar un uuid como clave principal, como la mayoría de los otros tipos de datos.

Sin embargo, no veo cómo se relaciona esto con el enmascaramiento de una ID de usuario. Si desea enmascarar la ID de un determinado usuario de otros usuarios, debe administrar cuidadosamente los privilegios de la tabla y/o codificar la ID usando, por ejemplo, md5() .

Si desea proteger una tabla con datos de usuario de piratas informáticos fisgones que intentan adivinar otras ID, entonces el uuid El tipo es una excelente opción. Paquete uuid-ossp tiene varios sabores. La versión 4 es entonces la mejor opción ya que tiene 122 bits aleatorios (los otros 6 se usan para identificar la versión). Puede crear una clave principal como esta:

id uuid PRIMARY KEY DEFAULT uuid_generate_v4()

y entonces nunca más tendrás que preocuparte por eso.

PostgreSQL 13+

Ahora puede usar la función integrada gen_random_uuid() para obtener un UUID aleatorio de la versión 4.