首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql的数据库权限

Postgresql的数据库权限
EN

Stack Overflow用户
提问于 2011-12-06 07:50:31
回答 2查看 3K关注 0票数 0

是否可以通过指定数据库而不是表来限制用户对postgresql数据库的访问?

我理解这句话:

代码语言:javascript
复制
GRANT ALL ON tableName TO joeuser

使此用户能够访问此表并执行任何他们想要的操作。但是,我希望允许用户访问包含tableName的数据库databaseName (以及databaseName中的所有表),但不允许访问我的postgresql服务器上的所有数据库。

EN

回答 2

Stack Overflow用户

发布于 2011-12-06 08:14:00

不是,不是。授予数据库权限:

代码语言:javascript
复制
GRANT ALL ON DATABASE databaseName TO joeuser;

不会自动授予数据库中对象的权限;授予数据库中当前每个对象的权限也不会自动授予将来可能创建的任何对象的权限。

票数 1
EN

Stack Overflow用户

发布于 2011-12-06 11:04:02

还不清楚你到底想要什么。您可能正在尝试查找一条SQL语句,该语句现在和将来处理您的所有特权。SQL特权通常不会以这种方式工作。

根据版本的不同,您可以通过两种方式控制与数据库的连接。

通过编辑pg_hba.conf来

  • 。(可能不适用于您的情况。)通过GRANT (or REVOKE) CONNECT ON DATABASE...语句执行
  • 。(从8.2版开始。)

您可以对表、视图、序列和函数执行change the default privileges。(版本9.0+)

ALTER DEFAULT PRIVILEGES是对SQL的PostgreSQL扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8393571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档