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

Django + PostgreSQL:membuat database (hak istimewa apa yang diberikan)

Django membutuhkan akses penuh ke basis data yang mendasarinya, jika Anda ingin menggunakan semua fiturnya seperti migrasi . Oleh karena itu disarankan dalam dokumen untuk memberikan semua hak istimewa.

Ada kasus penggunaan di mana Anda mungkin ingin membatasi akses - mis. jika Anda memiliki skema yang tidak dikelola, yang dibagikan dengan aplikasi lain. Tapi ini cukup istimewa. Topik tersebut tidak tercakup dalam dokumen dan diserahkan kepada Anda sebagai DBA.

Jika Anda tahu hak istimewa mana yang dibutuhkan oleh Django Anda - berikan saja sesuka Anda.

Jika Anda tidak tahu hak istimewa mana yang diperlukan, gunakan prosedur berikut:

  1. Siapkan proyek Anda dalam konteks pengembangan, menggunakan pengguna penuh.
  2. Buat pengguna baru, dan jangan berikan izin apa pun
  3. Ganti django Anda untuk menggunakan pengguna itu
  4. Mulai aplikasi Anda menggunakan fitur-fiturnya dan tunggu kesalahan SQL.
  5. Berikan izin yang diperlukan

Ulangi langkah 4. dan 5. selama semuanya berfungsi - tulis semua hibah ke dalam satu file sql, untuk dapat mereproduksinya nanti. Tentu saja Anda bisa mempercepat prosesnya, dengan memberikan barang-barang di depan, jika Anda sudah tahu, bahwa itu diperlukan.

Anda kemungkinan besar akan membutuhkan

  • SELECT dalam hampir semua hal
  • INSERT jika pengguna harus dapat membuat model
  • UPDATE jika pengguna harus dapat memodifikasi model
  • DELETE jika pengguna harus dapat menghapus model
  • REFERENCES jika pengguna membuat model dengan batasan kunci asing ke model lain - REFERENCES diperlukan untuk model lain ini.

Apa yang dibutuhkan dalam kasus aplikasi Anda adalah sesuatu yang hanya Anda yang tahu. Mungkin SELECT sudah cukup, bila Anda hanya menyediakan akses yang dapat dibaca ke data Anda.

Ketika Anda bekerja seperti itu, Anda harus memiliki pengguna terpisah, yang digunakan untuk penerapan, yang memiliki hak yang tepat untuk menjalankan migrasi Anda (berikan semua hak istimewa dalam hal ini masuk akal). Ini berlaku untuk setiap rilis dan harus menjadi IMO otomatis.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat memulai layanan postgresql di CentOS 7

  2. Kesalahan urutan byte yang tidak valid saat memulihkan database PostgreSQL

  3. Jumlah total 1 dalam bitmask Postgres

  4. \d gagal dalam program jdbc

  5. Urutan di Oracle/PostgreSQL tanpa ID dalam pernyataan penyisipan