在 postgres 中创建一个新的只读用户

在 postgres 中创建一个新的只读用户

我想在postgresqlUbuntu 机器上的现有数据库中创建一个新用户。我想授予此用户对所有表的只读访问权限。

我该怎么做?我也需要在 Ubuntu 上创建新用户吗?

谢谢,

乌迪

答案1

参考自本文!

创建只读用户的脚本:

CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234' 
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

为该只读用户分配权限:

GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;

答案2

无需在操作系统中创建新用户。只需发出:

创建用户新用户名

在 psql(或 pgadmin,或您喜欢的任何工具)中,您将拥有一个新用户。此用户拥有的访问权限取决于您为表设置的内容。但默认情况下,它对任何表都没有权限,因此您必须授予此权限。如果您已经授予公共组的权限,则用户从一开始就拥有这些权限。

相关内容