在PostgreSQL 8或9中安装plpython
我想在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;
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 安装文件夹里缺少这个 plpython.dll
文件。