我有一台远程机器,它必须访问我服务器上的数据库。
我明确授予了访问权限:
host dbname dbuser 192.168.1.0/24 md5
并在另一台 Linux 机器上使用以下命令进行测试
psql -h hostname dbname dbuser
我可以成功连接。
然而,当一些 Windows 用户尝试连接到该数据库时,他们会出现一个对话框,在其中输入数据库类型、(postgresql)用户名、密码、主机名、端口。
但是没有自由文本字段来填写数据库名称。他们只有一个下拉列表,这个下拉列表是空的,用户会收到一条错误消息(从另一种语言自由翻译,因此不准确)
Fatal error no pg_hba.conf entry for host hostname user username, database username.
因此,这个用户界面似乎试图连接到具有一样的名字作为用户。由于此数据库不存在,并且我只授予对一个特定数据库的访问权限,因此用户无法连接到数据库服务器,也无法输入所需的数据库名称。
这是一个已知问题吗?
如何解决?
是否有一些特殊权限可以授予,允许列出服务器上现有的数据库?