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