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

pg_dump với người dùng không có superradmin và các đối tượng lớn

Tài liệu cho lo_compat_privileges giải thích tình huống:

Lưu ý rằng điều này có thể được đặt cho mỗi cơ sở dữ liệu với:

ALTER DATABASE dbname SET lo_compat_privileges=on;

Khi lo_compat_privileges được đặt thành OFF mặc định , quyền truy cập không giới hạn ở superusers, nhưng được kiểm soát. Mỗi vật thể lớn đều có chủ sở hữu và chủ sở hữu đó có toàn quyền. Quyền đọc có thể được cấp cho từng đối tượng lớn tại một thời điểm (bởi chủ sở hữu hoặc người dùng cấp trên) với:

GRANT SELECT ON LARGE OBJECT loid TO rolename;

nơi rolename cũng có thể là PUBLIC nghĩa là "mọi người", hãy xem GRANT để biết chi tiết.

Mặt khác, tôi không nghĩ rằng có thể đặt quyền trên tất cả các đối tượng lớn của cơ sở dữ liệu bằng một lệnh duy nhất hoặc trước trên các nội dung chưa tồn tại, vì ALTER DEFAULT PRIVILEGES không hỗ trợ các đối tượng lớn và như bạn lưu ý, trình kích hoạt không phải là một tùy chọn.

Người không phải cấp trên có quyền CHỌN trên tất cả các đối tượng lớn của cơ sở dữ liệu có thể pg_dump cơ sở dữ liệu này mà không bị lỗi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tài nguyên đào tạo &học tập hàng đầu về PostgreSQL

  2. SQLAlchemy - trạng thái đếm là đúng

  3. Làm cách nào để nhận kết quả từ một thực thể JPA được sắp xếp theo khoảng cách?

  4. Truy vấn tìm kiếm của Quản trị viên Django không đạt chỉ mục Postgres

  5. Không có ánh xạ phương ngữ cho loại JDBC:2003