Tôi đang cố gắng thiết lập các đặc quyền trong cơ sở dữ liệu của mình cho người dùng để họ chỉ có thể CẬP NHẬT, CHERTN, XÓA và dĩ nhiên, CHỌN trên các bảng địa lý.
Vì tôi đang sử dụng một số loại SERIAL cho ID của mình, tôi thậm chí không muốn cung cấp cho người dùng khả năng chỉnh sửa trường này theo cách thủ công. Vì vậy, tôi đang xác định đặc quyền cột khôn ngoan. Nó hoạt động tốt trên phần CẬP NHẬT, nhưng nút trong QGIS cho phép tạo một đối tượng mới vẫn có màu xám. Cách duy nhất có vẻ như nó hoạt động là khi tôi không chỉ định bất kỳ trường nào trong định nghĩa đặc quyền. Ngay cả khi tôi chọn tất cả các trường, nó không hoạt động (mặc dù tôi đã nghĩ rằng không chỉ định bất kỳ cột nào và chỉ định tất cả các trường sẽ giống nhau).
Nó dường như là một cái gì đó mà tôi không hiểu, hoặc có một hạn chế trong định nghĩa đặc quyền cho sự tương tác đúng đắn giữa DB và QGIS. Có ai có bất kỳ thông tin hoặc lời khuyên nào có thể giúp tôi hiểu những gì đang xảy ra không, và / hoặc (thậm chí tốt hơn) giúp tôi đạt được mục tiêu của mình?
Tôi luôn có thể giải quyết vấn đề đó bằng cách đặt trường là không thể chỉnh sửa trong định nghĩa kiểu, nhưng vì bất kỳ ai cũng có thể đặt nó theo ý muốn, tôi muốn một giải pháp thay thế an toàn hơn.
Chạy QGIS 2.14, PostGIS 2.3 cho PostgreSQL 9.5.
GRANT INSERT (col2, col3, col4) ON table TO users