PostgreSQL 版本 9.1,
我使用默认用户登录数据库:“postgres”,我的数据库包含默认角色“public”
我拥有的数据库列表,
1.数据库1
2.数据库2
3.数据库3
现在,我需要创建一个用户“newuser”,该用户仅具有“database2”的权限,它不应该登录其他数据库。
我尝试使用这个语法
create role newuser with login nosuperuser nocreatedb nocreaterole noinherit password 'newpassword';
revoke all privileges on database database1, database3 from newuser;
但“newuser”仍然可以登录其他数据库(database1/database3),并且可以从其他模式中选择表。 (未列出公共模式中的表)
请任何人向我解释创建用户并向他们授予权限的正确过程。
我需要一个只能对特定数据库拥有所有权限的用户,他不应该登录其他数据库:)
您可以通过运行以下命令删除用户对数据库的权限:
REVOKE ALL PRIVILEGES ON DATABASE database_name FROM username;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)