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


Answers:


20

参考来自本文!

创建只读用户的脚本:

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;

令人印象深刻!超过6年后,一个新的,相关的答案。
亚当·马坦

值得。这是我在寻找“在Postgres中创建只读用户”时的顶部链接。顶上有相关示例的文章是我书中的胜利。
奥德里斯

3

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

创建用户newusername

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.