You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Langchain PGVector连接Azure数据库报错的解决咨询

问题分析与解决方法

错误原因判断

这个错误不是数据库权限限制导致,属于网络连接层面的问题:nodename nor servname provided, or not known表示程序无法解析你指定的数据库主机名(db_host),或者主机名填写错误,导致无法建立网络连接。权限问题的报错通常是认证失败、访问被拒绝这类提示,和当前错误不符。

针对Azure PostgreSQL的修正步骤

1. 修正主机名与用户名格式

Azure PostgreSQL的主机名格式固定为:你的服务器名称.postgres.database.azure.com,请检查db_host变量是否严格按照这个格式填写,没有拼写错误。
同时,Azure PostgreSQL的用户名必须带服务器名后缀,格式为:你的用户名@你的服务器名称,确保db_user变量符合这个要求。

2. 修正连接字符串的SSL参数

Azure PostgreSQL强制要求SSL连接,你的连接字符串中ssl_cipher参数无效,需要替换为正确的SSL配置:

# 正确的连接字符串格式
connection = f"postgresql+psycopg://{db_user}:{db_pass}@{db_host}:5432/force-embeddings?sslmode=require"

3. 检查网络访问权限

Azure PostgreSQL默认只允许指定IP地址访问数据库,如果你当前机器的IP不在允许列表中,会出现无法连接的情况。由于你不是管理员,需要联系数据库管理员将你的公网IP添加到Azure数据库的防火墙规则中。

4. 清理重复导入代码

你的代码中重复导入了PGVector,保留一个即可:

from langchain_core.documents import Document
from langchain_postgres.vectorstores import PGVector # 保留这一行即可

内容的提问来源于stack exchange,提问作者Jericho Pasco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:22:13