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

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

我该怎么做? 我是否也需要在Ubuntu上创build一个新用户?

谢谢,

乌迪

从这篇文章引用!

脚本创build只读用户:

 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; 

无需在操作系统中创build新用户。 只是问题:

CREATE USER newusername

在psql(或pgadmin,或任何你喜欢的工具),你将有一个新的用户。 这个用户的访问权限取决于你的表格的设置。 但是,默认情况下,它不会有任何表的权限,所以你将不得不放弃这一点。 如果您已经授予公共组的权限,则用户将从一开始就拥有权限。