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

Cấp đặc quyền PostgreSQL không hiển thị

Danh sách những điều bạn đã hiểu sai:

  1. ALTER DEFAULT PRIVILEGES không thay đổi quyền trên bất kỳ đối tượng hiện có nào, trong trường hợp của bạn là lược đồ.

    Bạn cần cấp the CREATE đặc quyền trên giản đồ:

    GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
    
  2. ALTER DEFAULT PRIVILEGES câu lệnh bạn đã chạy sẽ chỉ ảnh hưởng đến quyền trên các bảng do người dùng postgres tạo trong giản đồ tn_schema , nhưng có vẻ như bạn muốn tn_beta_migrator để tạo bảng.

    Bạn không cần ALTER DEFAULT PRIVILEGES hoàn toàn, vì người dùng tạo bảng trở thành chủ sở hữu bảng và có tất cả các đặc quyền trên bảng theo mặc định.

  3. Bạn có thể xem các đặc quyền mặc định với \ddp trong psql .

  4. Các lược đồ là một phần của cơ sở dữ liệu, vì vậy bạn cần kết nối với cơ sở dữ liệu để xem các lược đồ của nó.

Nếu bạn muốn rằng các bảng được tạo bởi tn_beta_migrator nhận các quyền nhất định theo mặc định, bạn phải xác định các đặc quyền mặc định cho người dùng đó (và không dành cho postgres , như bạn đã làm):

ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql enum những ưu điểm và nhược điểm là gì?

  2. Cách giám sát hiệu suất PostgreSQL 12 với OmniDB - Phần 2

  3. Làm cách nào để triển khai tìm kiếm toàn văn bằng tiếng Trung trên PostgreSQL?

  4. Tại sao hàm PostgreSQL json_agg () không trả về một mảng trống?

  5. Làm cách nào để chọn nhiều hàng chứa hằng số trong Amazon Redshift?