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

Cách cấp tất cả các đặc quyền về chế độ xem cho người dùng tùy ý

Lý do là bạn cần các đặc quyền bổ sung để truy cập một chế độ xem hoặc bảng. Các đặc quyền trên cơ sở dữ liệu không bao gồm quyền truy cập vào tất cả các đối tượng trong đó.

Nó khác với các chức năng:EXECUTE đặc quyền được cấp cho public theo mặc định. Nhưng chức năng được thực thi với các đặc quyền của người dùng hiện tại. Bạn có thể quan tâm đến SECURITY DEFINER bổ trợ cho CREATE FUNCTION . Nhưng thông thường, chỉ cần cấp SELECT là đủ trên các bảng có liên quan.

Theo tài liệu về các đặc quyền mặc định:

Tùy thuộc vào loại đối tượng, các đặc quyền mặc định ban đầu không bao gồm việc cấp một số đặc quyền cho PUBLIC . Mặc định là không có truy cập công cộng cho bảng, cột, lược đồ và không gian bảng; CONNECT đặc quyền và TEMP đặc quyền tạo bảng cho cơ sở dữ liệu; EXECUTE đặc quyền cho các chức năng; và USAGE đặc quyền cho các ngôn ngữ.

Bạn có thể quan tâm đến lệnh DDL này (yêu cầu Postgres 9.0 trở lên):

GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;

Tất nhiên, khi được kết nối với cơ sở dữ liệu được đề cập (xem nhận xét của @ marcel bên dưới) và với tư cách là người dùng có đủ đặc quyền. Bạn cũng có thể quan tâm đến cài đặt DEFAULT PRIVILEGES :

  • Cấp tất cả trên một lược đồ cụ thể trong db cho một vai trò nhóm trong PostgreSQL

Câu trả lời chi tiết hơn về cách quản lý đặc quyền:

  • Cách quản lý QUYỀN RIÊNG TƯ CHO NGƯỜI DÙNG trên CƠ SỞ DỮ LIỆU so với SCHEMA?

pgAdmin có một tính năng dành cho các hoạt động hàng loạt phức tạp hơn:

Hoặc bạn có thể truy vấn danh mục hệ thống để tạo các câu lệnh DDL để cấp / thu hồi hàng loạ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. Django cache.set () gây ra lỗi khóa trùng lặp

  2. PSQLException:giao dịch hiện tại bị hủy bỏ, các lệnh bị bỏ qua cho đến khi kết thúc khối giao dịch

  3. Thiết lập Django và PostgreSQL trên hai phiên bản EC2 khác nhau

  4. Lỗi khi tạo tiện ích mở rộng không phù hợp trên PostgreSQL

  5. Mẹo lưu trữ bản sao lưu PostgreSQL trên Amazon AWS