如何在PostgreSQL 9.3 x64 Windows 7上安装PL/Python?

Tia*_*ins 6 python postgresql windows-7-x64 plpython postgresql-9.3

我试图在运行查询的数据库中在PostgreSQL中安装PL/Python v2.x语言:

CREATE EXTENSION plpythonu;
Run Code Online (Sandbox Code Playgroud)

(我从http://www.postgresql.org/docs/9.3/static/plpython.html得到了这个)

但是我收到了这个错误:

ERRO:  não pôde acessar arquivo "$libdir/plpython2": No such file or directory
********** Error **********
ERRO: não pôde acessar arquivo "$libdir/plpython2": No such file or directory
SQL state: 58P01
Run Code Online (Sandbox Code Playgroud)

如何以自动方式安装?我需要在很多电脑上安装它.

Cra*_*ger 12

通常,此错误消息是Windows API LoadLibrary调用发出的误导性消息.它实际意味着更接近:

错误时加载plpython2.dll:找不到依赖的DLL python27.dllPATH

但是Windows只是表现得像是plpython2.dll自己无法加载.

您可以通过检查libPostgreSQL安装目录来确定是否存在此问题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(依赖性walker)查看链接到哪个Python DLL.你也需要相同的Python架构 - 如果你要安装64位PostgreSQL,你需要64位Python等.

PostgreSQL 9.3软件包需要Python 27.所以从http://python.org/下载Python 2.7 (不是ActiveState,它们不一定兼容).确保PATH安装程序将Python添加到安装程序中(当您运行安装程序时,它是一个选项).然后在重新启动PostgreSQL后重新尝试.

您可以使用以下命令自动安装Python:

start /wait msiexec /i python-2.7.3.amd64.msi /qb /passive TARGETDIR=%SystemDrive%\Python27_x64 ALLUSERS=1
Run Code Online (Sandbox Code Playgroud)

python-2.7.3.amd64.msi您安装的Python二进制文件的文件名在哪里,并且您正在安装64位版本C:\Python27_x64.根据需要调整.