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

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

Bạn đã tìm thấy cách viết tắt để đặt đặc quyền cho tất cả hiện có bảng trong lược đồ đã cho. Hướng dẫn làm rõ:

(nhưng lưu ý rằng ALL TABLES được coi là bao gồm lượt xem bảng nước ngoài ).

Tôi nhấn mạnh đậm. serial các cột được triển khai với nextval() trên một trình tự làm cột mặc định và trích dẫn hướng dẫn sử dụng:

Đối với các chuỗi, đặc quyền này cho phép sử dụng currvalnextval các chức năng.

Vì vậy, nếu có serial , bạn cũng sẽ muốn cấp USAGE (hoặc ALL PRIVILEGES ) trên chuỗi

GRANT USAGE ON ALL SEQUENCES IN SCHEMA foo TO mygrp;

Lưu ý:các cột nhận dạng trong Postgres 10 trở lên sử dụng chuỗi ngầm định không yêu cầu đặc quyền bổ sung. (Xem xét nâng cấp serial cột.)

Còn về mới đối tượng?

Bạn cũng sẽ quan tâm đến DEFAULT PRIVILEGES cho người dùng hoặc lược đồ:

ALTER DEFAULT PRIVILEGES IN SCHEMA foo GRANT ALL PRIVILEGES ON TABLES TO staff;
ALTER DEFAULT PRIVILEGES IN SCHEMA foo GRANT USAGE          ON SEQUENCES TO staff;
ALTER DEFAULT PRIVILEGES IN SCHEMA foo REVOKE ...;

Điều này đặt đặc quyền cho các đối tượng được tạo trong tương lai một cách tự động - nhưng không đặt cho các đối tượng đã có từ trước.

Đặc quyền mặc định là chỉ áp dụng cho các đối tượng được tạo bởi người dùng được nhắm mục tiêu (FOR ROLE my_creating_role ). Nếu mệnh đề đó bị bỏ qua, mệnh đề đó được mặc định là người dùng hiện tại thực thi ALTER DEFAULT PRIVILEGES . Nói rõ ràng:

ALTER DEFAULT PRIVILEGES FOR ROLE my_creating_role IN SCHEMA foo GRANT ...;
ALTER DEFAULT PRIVILEGES FOR ROLE my_creating_role IN SCHEMA foo REVOKE ...;

Cũng xin lưu ý rằng tất cả các phiên bản của pgAdmin III đều có một lỗi nhỏ và hiển thị các đặc quyền mặc định trong ngăn SQL, ngay cả khi chúng không áp dụng cho vai trò hiện tại. Đảm bảo điều chỉnh FOR ROLE mệnh đề theo cách thủ công khi sao chép tập lệnh SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. biểu thức chính quy quốc tế hóa trong postgresql

  2. 2 cách hiển thị tất cả cơ sở dữ liệu trong PostgreSQL (psql)

  3. Phân vùng sao chép hợp lý với PostgreSQL 13

  4. Chuyển đổi / Chuyển lại trong Slony-I trong khi nâng cấp các phiên bản chính của PostgreSQL 8.4.x / 9.3.x

  5. Sao lưu gia tăng PostgreSQL và phục hồi điểm trong thời gian