Sebuah sequence
di PostgreSQL melakukan hal yang persis sama dengan AUTOINCREMENT
di MySQL. Sebuah sequence
lebih efisien daripada uuid
karena itu 8 byte, bukan 16 untuk uuid
. Anda dapat menggunakan uuid
sebagai kunci utama, sama seperti kebanyakan tipe data lainnya.
Namun, saya tidak melihat bagaimana ini berhubungan dengan penyembunyian ID pengguna. Jika Anda ingin menutupi ID pengguna tertentu dari pengguna lain, Anda harus hati-hati mengelola hak istimewa tabel dan/atau hash ID menggunakan - misalnya - md5()
.
Jika Anda ingin melindungi tabel dengan data pengguna dari peretas pengintai yang mencoba menebak ID lain, maka uuid
jenis adalah pilihan yang sangat baik. Paket uuid-ossp
memiliki beberapa rasa. Versi 4 kemudian merupakan pilihan terbaik karena memiliki 122 bit acak (6 lainnya digunakan untuk identifikasi versi). Anda dapat membuat kunci utama seperti ini:
id uuid PRIMARY KEY DEFAULT uuid_generate_v4()
dan kemudian Anda tidak perlu khawatir lagi.
PostgreSQL 13+
Anda sekarang dapat menggunakan fungsi bawaan gen_random_uuid()
untuk mendapatkan UUID acak versi 4.