【问题标题】:Creating Users in PostgreSQL在 PostgreSQL 中创建用户
【发布时间】:2013-08-09 12:15:29
【问题描述】:

我很难在 PostgreSQL 中设置用户(带有 PostGIS 扩展) - 老实说,过去一周我一直在努力解决这个问题。我目前正在使用一个数据集,大多数用户应该只有读取权限,而一小部分用户应该能够编辑/删除/插入。

我正在关注这篇文章:- http://osqa.sjsoft.com/questions/155/how-do-i-create-a-read-only-postgresql-account,并遵循了在网络上找到的其他几个示例(基本上相同的内容)

但每次我尝试将数据加载到 QGIS 时,我都会收到如下消息:-

消息1

Erroneous query: SELECT * FROM <schema>.<table> LIMIT 1 returns 7 [error: permissions denied for schema <schema>.  Line 1: SELECT * FROM <schema>.<table> LIMIT 1
]

消息2

Unable to access the <schema>.<table> relation.
The error message fromt he database was:
ERROR: permission denied for schema <schema>
Line 1: Select * from <schema>.<Tbale> LIMIT 1
SQL: SELECT * from <schema>.<table> LIMIT 1

我在 PostGreSQL 9.2 数据库上使用 PGADMIN III。我很确定我在概念证明期间错过了一步或做了一些事情,这阻碍了我设置帐户的能力(为所有访问方法设置信任之类的东西会在我遇到的问题中起作用吗? )。

【问题讨论】:

  • 看起来您的问题不是用户帐户本身,而是您没有GRANTed 对这些用户帐户的适当权限,因此他们可以访问架构和表。见postgresql.org/docs/current/static/sql-grant.html
  • 感谢@CraigRinger,看来我错过了一步。为了确认我做了以下事情:1.)创建新的组角色,2.)在数据库树中,允许组连接到有问题的数据库,3.)在模式中,添加具有美国权限的组,4.)在架构右键单击表标题并使用授权向导分配相关权限,5.)创建新的登录配置文件并分配为组的成员。我测试了两组,一组用于只读,另一组用于编辑,一切正常。

标签: postgresql postgis qgis


【解决方案1】:

您似乎成功创建了用户,但忘记了GRANT them rights to the schema and/or the tables within it

如果用户不存在,您将根本无法登录。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 2012-09-23
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多