我想在postgresql
Ubuntu 机器上的现有数据库中创建一个新用户。我想授予此用户对所有表的只读访问权限。
我该怎么做?我也需要在 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,或您喜欢的任何工具)中,您将拥有一个新用户。此用户拥有的访问权限取决于您为表设置的内容。但默认情况下,它对任何表都没有权限,因此您必须授予此权限。如果您已经授予公共组的权限,则用户从一开始就拥有这些权限。