2016-08-14 96 views
0

我有几个数据库。我创建了一个超级用户登录,但我只想让超级用户登录到一个特定的数据库。我用撤消超级用户连接特定的数据库

REVOKE CONNECT ON DATABASE mydatabase FROM myuser; 

该命令完成后没有错误,但登录到数据库仍未被阻止。我如何解决我的问题?

回答

1

特殊组PUBLIC可能仍然具有连接数据库的权限,因此您运行的REVOKE命令不起作用。

但我建议你使用pg_hba.conf文件在数据目录中,以达到你想要的东西。这两条线路:

host alloweddb myuser 0.0.0.0/0 md5 
host all  myuser 0.0.0.0/0 reject 

将使myuser通过TCP连接到alloweddb,但将禁止所有其他数据库的连接。

不要忘了修改后pg_hba.conf重新加载与pg_ctl reload配置文件。