8

我想在 postgresql 上安装 plpython 以获得 python 触发器

当我恢复我的数据库(我的数据库有一些 python 触发器)时,出现此错误(错误消息太大,所以我粘贴它的第一行):

C:/Program Files/PostgreSQL/9.0/bin/pg_restore.exe
   --host localhost
   --port 5432
   --username "postgres"
   --dbname "mfa"
   --verbose
   "%HOMEPATH%/Desktop/EhSAA/MFA/db_schema/mydb.backup"

pg_restore: connecting to database for restore
pg_restore: creating SCHEMA public
pg_restore: creating COMMENT SCHEMA public
pg_restore: creating PROCEDURAL LANGUAGE plpgsql
pg_restore: creating PROCEDURAL LANGUAGE plpythonu
pg_restore: [archiver (db)] Error while PROCESSING TOC:

pg_restore: [archiver (db)] Error from TOC entry 315; 2612 16595
                                  PROCEDURAL LANGUAGE plpythonu postgres

pg_restore: [archiver (db)] could not execute query:
ERROR: could not load library "C:/Program Files/PostgreSQL/9.0/lib/plpython.dll":
The specified module could not be found.

命令是:

CREATE OR REPLACE PROCEDURAL LANGUAGE plpythonu;
4

1 回答 1

6

看起来你需要plpython.dll输入C:/Program Files/PostgreSQL/9.0/lib. 我刚刚在我的系统上尝试了以下命令,并且成功了。

cd C:\Program Files\PostgreSQL\8.2\bin
createlang --dbname=MyDb plpythonu -U myuser

检查我的C:\Program Files\PostgreSQL\8.2\lib揭示,我plpython.dll在那里。正如您的错误所说,您的 postgresql 安装的 lib 文件夹中似乎plpython.dll缺少它。

于 2011-05-04T17:49:43.117 回答