Các kiểu lớp QGIS / PostGIS


9

Tôi đã tạo một plugin yêu cầu thông tin đăng nhập vào DB. Sau khi đăng nhập, plugin đang tải một số lớp từ DB. Trong DB có cả quản trị viên và người dùng "bình thường".

Tôi đã lưu hai kiểu vào DB từ UI làm kiểu mặc định cho lớp của chúng tương ứng (có vẻ như bạn phải có quyền quản trị DB để có thể lưu chúng).

Khi tôi đã lưu kiểu vào db, tôi không thể thấy chúng được lưu trữ ở đâu, tôi không thể thấy bất kỳ bảng mới nào. (Tôi dự kiến ​​các kiểu sẽ được lưu trong bảng)

Chạy lại QGIS và plugin (với tư cách là người dùng quản trị), các kiểu lớp được tải tự động.

Nhưng, khi chạy lại QGIS và plugin (như người dùng bình thường), chúng không được tải tự động. Sau đó tôi thử tải các kiểu từ DB (từ GUI), nhưng không có kiểu nào được tải.

Hai câu hỏi.

  1. Làm thế nào là các kiểu lớp được lưu trữ trong DB?
  2. Có cách nào để tải các kiểu lớp mà không có quyền quản trị DB không?

Người dùng bình thường của bạn có được cấp quyền truy cập vào các bảng của bạn không? làm thế nào về bảng phong cách của bạn?
Alexandre Neto

Người dùng bình thường của tôi có quyền truy cập vào các bảng lớp. Họ được tải như họ cần. Về bảng kiểu, đó là vấn đề. Tôi đã dự kiến ​​sẽ có các bảng kiểu nhưng không thể thấy chúng trong DB bằng pgAdmin. Có thể phong cách đó được lưu trữ theo cách khác, nhưng làm thế nào? Nếu tôi có thể định vị bất kỳ bảng kiểu nào, tôi có thể cung cấp cho người dùng bình thường quyền truy cập vào chúng.
dùng28233

Câu trả lời:


11

Các kiểu thường được lưu trong public.layer_styles.

Trong lược đồ công cộng, mọi người dùng đều có thể truy cập được. Nếu không, hãy chắc chắn rằng nó sẽ sử dụng:

GRANT SELECT ON TABLE public.layer_styles TO users;
-- "users" is a group with all your #normal users

Tôi đã không biết rằng các kiểu đã được lưu trong public(làm việc với một db với một vài lược đồ).
dùng28233
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.