我想创建一个postgres用户,它只能访问postgres服务器上的一个数据库.
目前我的流程是:
create database database1;
create user user1 with password 'pass';
grant all privileges on database database1 to user1;
但是user1仍然可以看到数据库、用户、表等的列表.有没有办法阻止用户看到这些信息?用户需要能够写入和读取该数据库.
谢谢.
我想创建一个postgres用户,它只能访问postgres服务器上的一个数据库.
目前我的流程是:
create database database1;
create user user1 with password 'pass';
grant all privileges on database database1 to user1;
但是user1仍然可以看到数据库、用户、表等的列表.有没有办法阻止用户看到这些信息?用户需要能够写入和读取该数据库.
谢谢.
每个用户都可以看到列出的其他数据库和角色,但永远不能看到其他数据库中的表.
如果undo撤消除分配数据库外的所有数据库的连接权限,用户将无法访问其他数据库的内容.
角色和数据库名称是全局的,不容易被阻止.你可以试试弗兰克·海肯的建议,在系统表上有 Select 地撤销,但这样做是有风险的.usenet邮件列表上的PostgreSQL开发人员不鼓励篡改对系统目录的访问.
Psql和其他工具一样,认为没有它们它们它们是可用的,并且功能很差.
为什么知道其他names个数据库和角色如此糟糕?