问题现象
在使用客户端链接ADB PG实例时,弹窗报错。如下图所示:

问题原因
报错的IP与ADB PG实例无法互相访问。可能原因:
- 报错的IP是用户局域网的IP。
- 未设置ADB PG实例白名单。
解决方式
- 如何查看本地客户端IP并设置ADB PG实例白名单?
-
由于网络环境复杂多样,用户可能无法正确地找到本地客户端的IP地址来设置实例白名单。本文介绍如何查看本地客户端的IP。
操作步骤- 将
0.0.0.0/0
添加到AnalyticDB for PostgreSQL实例的白名单,具体操作如下:- 登录云数据库AnalyticDB for PostgreSQL管理控制台。
- 选择目标实例所在地域。
- 单击目标实例的 ID, 进入实例基本信息页面。
-
在实例菜单栏中,选择数据安全性,进入数据安全性页面。
- 在白名单设置标签页中,单击 default 白名单分组后的修改,进入修改白名单分组页面。
- 删除组内白名单中的默认白名单 127.0.0.1,写入白名单地址
0.0.0.0/0
。说明0.0.0.0/0
允许任何IP访问数据库,将会引入较高的安全风险,请尽快删除。 - 单击确定,完成白名单设置。
- 使用客户端连接到AnalyticDB for PostgreSQL实例,参见客户端连接下载安装psql客户端,使用如下连接语句连接数据库:
psql -h yourgpdbaddress.gpdb.rds.aliyuncs.com -p 3432 -d postgres -U gpdbaccount
其中,各个参数的定义如下:
- -h:指定主机地址。
- -p:指定端口号。
- -d:指定数据库(默认的数据库是 postgres),
- -U:指定连接的用户。
- 可以通过
psql --help
查看更多选项。在 psql 中,可以执行\?
查看更多 psql 中支持的命令。
- 进入数据库后,在数据库的SQL命令行窗口中运行如下命令,查询客户端的IP地址。
select * from pg_stat_activity;
查询结果的CLIENT_ADDR字段即为客户端的IP地址。 - 在AnalyticDB for PostgreSQL控制台中,将白名单
0.0.0.0/0
删除,输入上个步骤查询到的IP地址,即可正常访问数据库。
- 将