PostgreSQL版本9.1,
我正在使用默认用户“postgres”登录数据库,我的数据库包含默认角色“public”
我拥有的数据库列表如下,
1.database1
2.database2
3.database3
现在,我需要创建一个名为“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),并且可以从其他模式中选择表。 (公共模式中的表未列出)
请问,有人能够向我解释正确的创建用户并授予权限的过程吗?
我需要一个用户仅对特定数据库拥有所有权限,他不应该登录其他数据库 :)