PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

UUID atau SEQUENCE untuk kunci utama?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pelatihan PostgreSQL untuk MySQLer

  2. Postgresql :Bagaimana cara memilih entri n persen (%) teratas dari setiap grup/kategori?

  3. Bagaimana cara memasukkan pandas DataFrame ke tabel PostgreSQL?

  4. Tidak dapat terhubung ke database heroku postgresql dari aplikasi node lokal dengan sekuel

  5. Memberitahu Pengguna Anda untuk Melakukan Fork Sendiri