dbt连接PostgreSQL报错:'PostgresConnectionManager'无'retry_connection'属性
解决dbt连接PostgreSQL时
PostgresConnectionManager has no attribute 'retry_connection'错误 这个错误的核心原因是dbt-core与dbt-postgres适配器版本不兼容——新版本的dbt-core依赖适配器提供retry_connection方法,但你当前安装的适配器版本未包含该方法,或者适配器版本过新而dbt-core版本过旧,导致接口不匹配。
解决步骤:
检查当前dbt组件版本:
执行命令查看dbt-core和dbt-postgres的版本号,确认两者是否属于同一大版本(比如都是1.x、2.x):dbt --version卸载不兼容的包:
pip uninstall -y dbt-core dbt-postgres安装匹配版本的组件:
选择对应大版本的稳定版安装,例如要安装1.5.x系列:pip install dbt-core==1.5.0 dbt-postgres==1.5.0或者直接升级到最新兼容稳定版:
pip install --upgrade dbt-core dbt-postgres验证修复:
重新执行dbt debug,确认连接正常。
额外注意事项:
- 如果你使用虚拟环境,确保操作时已激活对应的虚拟环境,避免包安装到全局环境导致版本混乱。
- 若仍有问题,再检查
profiles.yml中的连接配置(比如host、port、数据库名、用户权限等),但该错误本身和配置无关,优先级低于版本兼容问题。
内容的提问来源于stack exchange,提问作者rahul
相关产品推荐
相关产品推荐

