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

Sự khác biệt giữa người dùng và vai trò là gì?

Các phiên bản trước của Postgres và một số hệ thống DB khác, có các khái niệm riêng biệt về "nhóm" (được cấp quyền truy cập vào các đối tượng cơ sở dữ liệu) và "người dùng" (người có thể đăng nhập và là thành viên của một hoặc nhiều nhóm).

Trong các phiên bản hiện đại của Postgres, hai khái niệm đã được hợp nhất:một "vai trò" có thể có khả năng đăng nhập, khả năng "kế thừa" từ các vai trò khác (như người dùng là thành viên của một nhóm hoặc một nhóm là thành viên của một nhóm khác) và quyền truy cập vào các đối tượng cơ sở dữ liệu.

Để thuận tiện, nhiều công cụ và hướng dẫn sử dụng đề cập đến bất kỳ người dùng nào có quyền đăng nhập là "người dùng" hoặc "vai trò đăng nhập", và bất kỳ người dùng nào không có quyền là "nhóm" hoặc "vai trò nhóm", vì thông lệ hữu ích và phổ biến là giữ nguyên cấu trúc đó. Đây hoàn toàn là quy ước thuật ngữ và để hiểu các quyền, bạn chỉ cần hiểu các tùy chọn có sẵn khi tạo vai trò cấp cho họ quyền truy cập .

Một lần nữa hoàn toàn để thuận tiện, Postgres vẫn chấp nhận các lệnh sử dụng thuật ngữ cũ, chẳng hạn như CREATE USER CREATE GROUP cả hai đều là bí danh cho CREATE ROLE . Nếu bạn viết CREATE USER , LOGIN quyền sẽ được thêm vào vai trò mới theo mặc định, để mô phỏng hành vi cũ khi đó là một lệnh riêng biệt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đặt thời gian chờ kết nối trong SQLAlchemy

  2. PostgreSQL vô hiệu hóa nhiều đầu ra hơn

  3. Cách đạt được hiệu suất cao trong một giao dịch lớn (postgresql)

  4. Làm thế nào để tạo một số loại trình lặp (hoặc id nhân tạo) cho một tập hợp các hàng nhất định?

  5. Xóa khỏi nhiều SQL-Alchemy và Postgresql