QGIS / PostGIS图层样式


9

我做了一个插件,要求向数据库登录。登录后,该插件将从数据库加载某些层。在数据库中,既有管理员用户,又有“普通”用户。

我已经从UI中将两种样式分别作为其图层的默认样式保存到数据库中(似乎您必须具有数据库管理员权限才能保存它们)。

将样式保存到数据库后,我看不到它们的存储位置,即看不到任何新表。(我希望样式可以保存在表格中)

再次运行QGIS和插件(以管理员用户身份),将自动加载图层样式。

但是,再次运行QGIS和插件(作为普通用户rnd)它们不会自动加载。然后,我尝试从数据库(从GUI)加载样式,但未加载任何样式。

两个问题。

  1. 图层样式如何存储在数据库中?
  2. 没有DB管理员权限,有没有办法加载图层样式?

是否向普通用户授予了访问表的权限?您的样式表怎么样?
2014年

我的普通用户可以访问图层表。他们按需加载。关于样式表,这就是问题所在。我曾期望会有样式表,但是使用pgAdmin在数据库中看不到它们。可能是样式以其他方式存储,但是如何存储呢?如果可以找到任何样式表,则可以为普通用户提供对其的访问权限。
user28233 2014年

Answers:


11

样式通常保存在public.layer_styles中。

在公共模式下,每个用户都应该可以访问它。如果没有,请确保它正在使用:

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

我没有意识到保存了样式public(使用具有多个模式的数据库)。
user28233 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.