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

PostgreSQL中plpython3u扩展加载失败问题求助

PostgreSQL 15 plpython3u 加载失败(错误126)排查方案

问题描述

执行CREATE EXTENSION plpython3u时触发以下错误:

Erro SQL [58P01]: ERROR: could not load library "C:/Program Files/PostgreSQL/15/lib/plpython3.dll": unknown error 126

已确认plpython3.dll存在于指定目录,使用Windows 11系统,已安装对应版本Python、配置环境变量、按EDB文档安装语言包并设置PYTHONHOME为C:\edb\languagepack\v3\Python-3.10,通过DBeaver连接数据库,问题仍未解决。

可能的原因及解决步骤

  • Python版本与位数不匹配
    PostgreSQL 15为64位版本,必须搭配64位Python 3.10(与EDB语言包版本一致),32位Python会直接导致DLL加载失败。同时确认Python安装时勾选了「Add Python to PATH」,且系统PATH中该Python路径优先级高于其他版本。

  • EDB语言包与PostgreSQL版本不兼容
    确保EDB语言包是针对PostgreSQL 15的专属版本,不同大版本(如14、15)的语言包无法混用,重新下载对应版本的语言包安装后重试。

  • DLL依赖项缺失
    错误126多数是因为plpython3.dll依赖的底层DLL未被找到,可通过Windows工具排查:

    1. 打开命令提示符,进入C:\Program Files\PostgreSQL\15\lib目录
    2. 执行命令:dumpbin /dependents plpython3.dll(需安装Visual Studio工具链)
      查看输出中是否有缺失的DLL(如python310.dll),若缺失,确认PYTHONHOME\DLLs目录已加入系统PATH,或临时将对应DLL复制到PostgreSQL的lib目录测试。
  • PostgreSQL服务未读取更新后的环境变量
    手动修改的PYTHONHOME和PATH环境变量不会自动同步到PostgreSQL服务的运行环境,需重启服务:

    1. 按下Win+R输入services.msc打开服务管理器
    2. 找到postgresql-x64-15服务,右键选择「重启」
    3. 重新连接DBeaver执行扩展创建命令
  • DBeaver环境变量隔离问题
    DBeaver可能未读取到系统更新后的环境变量,或自定义了连接环境:

    1. 完全关闭DBeaver后重新打开重试
    2. 使用PostgreSQL自带的psql工具执行CREATE EXTENSION plpython3u,若成功则说明问题出在DBeaver,需检查连接设置中是否有自定义环境变量覆盖系统配置。
  • 目录权限不足
    确保PostgreSQL服务运行账户(默认是NT SERVICE\postgresql-x64-15)对C:\edb\languagepack\v3\Python-3.10目录拥有读取和执行权限:

    1. 右键该目录选择「属性」→「安全」
    2. 添加NT SERVICE\postgresql-x64-15账户,赋予读取和执行权限后应用。

内容的提问来源于stack exchange,提问作者Guilherme Rodrigues

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 06:43:21