撤消超级用户连接特定数据库

时间:2016-08-14 13:49:48

标签: postgresql

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

REVOKE CONNECT ON DATABASE mydatabase FROM myuser;

此命令完成且没有错误,但仍未阻止登录到数据库。我怎样才能解决我的问题?

1 个答案:

答案 0 :(得分: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_ctl reload后,请不要忘记使用pg_hba.conf重新加载配置文件。