PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Django + PostgreSQL:tạo cơ sở dữ liệu (cấp đặc quyền gì)

Django cần quyền truy cập đầy đủ vào cơ sở dữ liệu bên dưới, nếu bạn muốn sử dụng tất cả các tính năng của nó như di cư . Do đó, trong tài liệu nên cấp tất cả các đặc quyền.

Có những trường hợp sử dụng mà bạn có thể muốn hạn chế quyền truy cập - ví dụ:nếu bạn có một giản đồ không được quản lý, được chia sẻ với các ứng dụng khác. Nhưng điều này khá đặc biệt. Những chủ đề đó không có trong tài liệu và để lại cho bạn với tư cách là DBA.

Nếu bạn biết django của mình cần những đặc quyền nào - chỉ cần cấp cho họ tùy thích.

Nếu bạn không biết đặc quyền nào cần thiết, hãy sử dụng quy trình sau:

  1. Thiết lập dự án của bạn trong bối cảnh phát triển, sử dụng người dùng được cấp đầy đủ.
  2. Tạo người dùng mới và không cấp bất kỳ quyền nào
  3. Chuyển django của bạn để sử dụng người dùng đó
  4. Khởi động ứng dụng của bạn bằng cách sử dụng các tính năng của nó và đợi các lỗi SQL.
  5. Cấp các quyền cần thiết

Lặp lại bước 4. và 5. miễn là mọi thứ hoạt động - ghi tất cả các khoản trợ cấp vào một tệp sql, để có thể tái tạo điều này sau này. Tất nhiên, bạn có thể đẩy nhanh quá trình, bằng cách cấp những thứ phía trước, nếu bạn đã biết, rằng nó là cần thiết.

Có lẽ bạn sẽ cần nhất

  • SELECT trong hầu hết mọi trường hợp
  • INSERT nếu người dùng có thể tạo một mô hình
  • UPDATE nếu người dùng có thể sửa đổi mô hình
  • DELETE nếu người dùng có thể xóa một mô hình
  • REFERENCES nếu người dùng tạo một mô hình có ràng buộc khóa ngoại đối với một mô hình khác - REFERENCES là cần thiết cho mô hình này, một mô hình khác.

Điều gì cần thiết trong trường hợp ứng dụng của bạn là điều chỉ bạn mới biết. Có thể SELECT là đủ, khi bạn chỉ cung cấp quyền truy cập có thể đọc được vào dữ liệu của mình.

Khi bạn làm việc như vậy, bạn nên có một người dùng riêng, được sử dụng để triển khai, có quyền thích hợp để thực hiện quá trình di chuyển của bạn (cấp tất cả các đặc quyền trong trường hợp này là hợp lý). Điều này áp dụng cho mỗi bản phát hành và phải là IMO tự động.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lấy từ cuối cùng từ một chuỗi Postgres, một cách khai báo

  2. Hibernate &postgreSQL với Grails

  3. Kết hợp HOẶC truy vấn SQL (truy vấn số 1 với WITH) và (truy vấn số 2) với COUNT () phép bào chữa

  4. Chọn nhiều id từ một chuỗi PostgreSQL

  5. Di chuyển Heroku:công cụ sửa đổi kiểu không được phép cho kiểu bytea