0
我有几个数据库。我创建了一个超级用户登录,但我只想让超级用户登录到一个特定的数据库。我用撤消超级用户连接特定的数据库
REVOKE CONNECT ON DATABASE mydatabase FROM myuser;
该命令完成后没有错误,但登录到数据库仍未被阻止。我如何解决我的问题?
我有几个数据库。我创建了一个超级用户登录,但我只想让超级用户登录到一个特定的数据库。我用撤消超级用户连接特定的数据库
REVOKE CONNECT ON DATABASE mydatabase FROM myuser;
该命令完成后没有错误,但登录到数据库仍未被阻止。我如何解决我的问题?
特殊组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
配置文件。