Postgresql CREATE GRANT-限制对服务器上其他数据库的访问?

问题描述

我有2个Postgresql数据库,分别称为abc和xyz。我想为每个要在网站中使用的用户创建一个用户,因此我已经使用以下命令创建了用户:

CREATE ROLE abc LOGIN PASSWORD 'abc';

然后我这样做是为了授予他们对数据库的权限:

GRANT ALL PRIVILEGES ON DATABASE abc TO abc;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO abc;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO abc;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL on TABLES TO abc;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL on SEQUENCES TO abc;

那时abc用户可以访问表,并且我相信将来会创建任何表。

我注意到abc用户可以看到xyz数据库存在并实际进入数据库,并在pgAdmin中看到表的架构,表甚至表的结构。

我想防止这种情况,并锁定abc用户,以便尽可能多地了解abc数据库。

在此配置中我哪里出错了?锁定此功能的最佳方法是什么?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)