在 PostgreSQL 中创建/删除索引的用户权限

Posted

技术标签:

【中文标题】在 PostgreSQL 中创建/删除索引的用户权限【英文标题】:User privilege for index creation / drop in PostgreSQL 【发布时间】:2014-07-31 08:24:47 【问题描述】:

我知道 PostgreSQL 中有 GRANT 权限,它授予特定用户分配各种操作权限的权限。有没有办法在不授予 COLUMNS+TABLE 的 ALTER/CREATE/DROP 权限的情况下对索引授予 CREATE/DROP 权限+数据库

【问题讨论】:

你读过这个Postgres Documentaion 吗? 我有一个这样的场景:表:xTable 列:col1、col2、col3 col1 上的索引是 indexCol1 现在我已经撤销了用户更改 xTable、col1、col2、col3。那么在 indexCol1 上授予 CREATE / DROP 的查询是什么? dba.stackexchange.com/questions/114735/… 【参考方案1】:

语法是:

GRANT   SELECT | INSERT | DELETE | UPDATE  [,...] | ALL [ PRIVILEGES ] 
    ON  SEQUENCE sequence_name [, ...]| ALL SEQUENCES IN SCHEMA schema_name [, ...] 
    TO  [ GROUP ] role_name | PUBLIC  [, ...] [ WITH GRANT OPTION ]

例如

GRANT SELECT ON serialid_index TO mywebsuser;

对表等分别授予权限

【讨论】:

以上是关于在 PostgreSQL 中创建/删除索引的用户权限的主要内容,如果未能解决你的问题,请参考以下文章

无法在 postgresql 中创建用户

sql 如何在PostgreSQL中创建只读用户

无法在 PostgreSQL 中创建名为“用户”的数据库表

从 Python 程序中创建 PostgreSQL 角色/用户

为用户授予在 postgresql 中创建的任何新表的权限

在 Elastic Beanstalk Postgresql 中创建 Django 超级用户