我想postgresql
在Ubuntu计算机上的现有数据库中创建一个新用户。我想授予该用户对所有表的只读访问权限。
我该怎么做?我也需要在Ubuntu上创建一个新用户吗?
谢谢,
乌迪
我想postgresql
在Ubuntu计算机上的现有数据库中创建一个新用户。我想授予该用户对所有表的只读访问权限。
我该怎么做?我也需要在Ubuntu上创建一个新用户吗?
谢谢,
乌迪
Answers:
创建只读用户的脚本:
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;
无需在操作系统中创建新用户。只是发出:
创建用户newusername
在psql(或pgadmin,或您喜欢的任何工具)中,您将拥有一个新用户。该用户具有什么访问权限取决于您设置的表的用途。但是默认情况下,它对任何表都没有权限,因此您必须对此进行授权。如果您已经拥有对公共组的授予权限,则该用户将从一开始就拥有该权限。