首页 > 解决方案 > 初学者对 postgres 角色的困惑

问题描述

让我们举一个简单的例子来说明我想要实现的目标:

创建一个模式“accounts”并添加两个表,如“users”和“api_credentials”。

CREATE SCHEMA accounts
CREATE TABLE IF NOT EXISTS accounts.users ()
CREATE TABLE IF NOT EXISTS accounts.api_credentials ()
;

现在,我想创建一个角色“管理员”,并让它对该模式中的任何表具有读写访问权限:

CREATE ROLE administrator;
ALTER SCHEMA accounts OWNER TO administrator;
GRANT ALL ON SCHEMA accounts TO administrator;

这是正确的方法吗?

然后我想创建一个只能读取的“查看者”角色:

CREATE ROLE reader;
GRANT USAGE ON SCHEMA accounts TO reader;
.. and how do I make this read only?

以及它的作用是什么:

GRANT CONNECT ON DATABASE mydatabase TO myrole

我在文档中看到过,但我不确定;这是否意味着具有该角色的用户无法登录?我认为登录权限与用户有关?(我希望几个用户继承该角色)

标签: postgresql

解决方案


推荐阅读