LoadLibrary
通常,此错误消息是由 Windows API调用发出的误导性消息。它的实际含义更接近于:
加载时出错plpython2.dll
:找不到依赖python27.dll
DLLPATH
但相反,Windows 只是表现得像是plpython2.dll
无法加载的自身。
您可以通过检查lib
PostgreSQL 安装目录中的plpython2.dll
. 如果它在那里,但您收到此错误,那么它是缺少 Python 运行时。如果根本没有plpython2.dll
,那么您的 PostgreSQL 安装缺少 plpython2,这是我与包装团队提出的。
如果有plpython2.dll
但无法加载,则需要安装与 PostgreSQL 版本匹配的 Python 运行时。它必须与用于编译 PostgreSQL 的 Python 主要版本相同,例如,如果使用 Python 2.7 编译 PostgreSQL,则 Python 2.6 将无法运行 plpython。
如果通过安装程序自动安装所需的运行时会很好,但目前不是。它也没有正确记录,我将与包装团队讨论要安装的正确运行时现在记录在doc\installation-notes.html
安装目录中,您也可以通过PostgresSQL 9.3 -> 文档 ->开始菜单中的安装说明.
对于在“安装说明”文件中缺少此信息的旧版本,如果您不确定需要哪个版本的 Python,您可以使用depends.exe
(dependency walker)查看它链接到的 Python DLL。你也需要相同的 Python 架构——如果你要安装 64 位 PostgreSQL,你需要 64 位 Python,等等。
PostgreSQL 9.3 包需要 Python 27。所以从http://python.org/下载 Python 2.7 (不是 ActiveState,它们不一定兼容)。确保安装程序将 Python 添加到PATH
(运行安装程序时这是一个选项)。然后重新启动PostgreSQL后重试。
您可以使用以下命令自动安装 Python:
start /wait msiexec /i python-2.7.3.amd64.msi /qb /passive TARGETDIR=%SystemDrive%\Python27_x64 ALLUSERS=1
您安装的 Python 二进制文件的文件名在哪里python-2.7.3.amd64.msi
,并且您正在将 64 位版本安装到C:\Python27_x64
. 根据需要进行调整。