如何通过PGAdmin连接带私有端点的Azure PostgreSQL服务器
通过本地PGAdmin连接带私有端点的Azure PostgreSQL数据库解决方案
核心问题
你当前使用公网域名db-postgresql-internetsuite2-0-demo.postgres.database.azure.com连接,但已关闭服务器的公网访问,导致连接超时;同时本地ping通的私有链接域名解析到了公网IP,说明网络链路未打通到Azure目标VNet的私有端点。
具体解决步骤
1. 更换PGAdmin的连接主机地址
在PGAdmin注册服务器时,将Host name/address替换为私有链接域名:db-postgresql-internetsuite2-0-demo.privatelink.postgres.database.azure.com
其余参数(端口5432、用户名internetsuite2admin、密码、数据库名postgres)保持不变。
2. 打通本地到Azure目标VNet的网络链路
ping通私有链接域名仅代表DNS解析正常,但PostgreSQL的5432端口可能未连通,需确保本地主机能访问私有端点所在的VNet,可选方案:
- VPN网关连接:在Azure配置VPN网关,本地主机通过VPN接入目标VNet,实现私有网络内的访问。
- 跳转机+Bastion:在目标VNet内创建虚拟机,通过Azure Bastion远程登录该虚拟机,在虚拟机内安装PGAdmin连接数据库。
- 验证DNS解析正确性:执行
nslookup db-postgresql-internetsuite2-0-demo.privatelink.postgres.database.azure.com,正常情况下应解析到Azure VNet的私有IP(如10.x.x.x段),若仍解析为公网IP,需检查VPN连接的DNS配置,确保使用Azure私有DNS解析私有链接域名。
3. 确认SSL/TLS配置合规
Azure PostgreSQL强制要求SSL连接,在PGAdmin的连接设置中:
- 将
SSL mode设置为Require或Verify-CA - 确保TLS版本为1.2(可在PGAdmin的连接选项中配置)
4. 检查私有端点与NSG规则
- 确认私有端点状态为
Approved(你的配置已满足) - 检查私有端点所在子网的网络安全组(NSG),添加入站规则允许本地网络地址段的5432端口访问。
额外测试方法
用psql命令行测试连接(替换密码后执行):
export PGHOST=db-postgresql-internetsuite2-0-demo.privatelink.postgres.database.azure.com export PGUSER=internetsuite2admin export PGPORT=5432 export PGDATABASE=postgres export PGPASSWORD="{your-password}" psql
若仍超时,用telnet测试端口连通性:
telnet db-postgresql-internetsuite2-0-demo.privatelink.postgres.database.azure.com 5432
不通则优先排查VPN或VNet的网络链路配置。
内容的提问来源于stack exchange,提问作者mightycode Newton
相关产品推荐
相关产品推荐

