以下是似乎可用于创建新用户(登录)并授予对 PostgreSQL 上指定表的只读访问权限的命令列表。
让我们假设这些命令是在具有足够权限的登录时执行的(即postgres
在默认安装中登录)。
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Run Code Online (Sandbox Code Playgroud)
现在我想在 database上授予select
表,所以在这里(通过 PgAdmin 或类似的方式将数据库选为当前数据库):tab_abc
db_xyz
db_xyz
grant select on tab_abc to user_name;
Run Code Online (Sandbox Code Playgroud)
问题是:这是否足够,还是应该有更多的资助(数据库connect
,usage
也许)?
这些命令似乎对我有用,但我的默认安装具有默认安全设置。如果服务器管理员配置了更强的安全性,我应该添加哪些额外的授权?
似乎我不需要授予connect
也usage
- 在授予时是隐含的select
吗?总是这样吗?