postgresql – 无法访问文件“$libdir / plpgsql”:没有这样的
发布时间:2020-12-13 18:07:22 所属栏目:百科 来源:网络整理
导读:我很茫然,我在我的本地Postgres服务器(postgres.app,Mac OS X 10.7)中创建存储过程时遇到问题,因此 $psqlpsql (9.3.0)Type "help" for help.dchaston=# CREATE OR REPLACE FUNCTION table_update()dchaston-# RETURNS TRIGGER AS $$dchaston$# BEGINdchaston
我很茫然,我在我的本地Postgres服务器(postgres.app,Mac OS X 10.7)中创建存储过程时遇到问题,因此
$psql psql (9.3.0) Type "help" for help. dchaston=# CREATE OR REPLACE FUNCTION table_update() dchaston-# RETURNS TRIGGER AS $$ dchaston$# BEGIN dchaston$# NEW.last_edit = now(); dchaston$# RETURN NEW; dchaston$# END; dchaston$# $$language 'plpgsql'; ERROR: could not access file "$libdir/plpgsql": No such file or directory 我检查过以下内容: 语言安装: dchaston=# select * from pg_language; lanname | lanowner | lanispl | lanpltrusted | lanplcallfoid | laninline | lanvalidator | lanacl ---------+----------+---------+--------------+---------------+-----------+--------------+-------- internal | 10 | f | f | 0 | 0 | 2246 | c | 10 | f | f | 0 | 0 | 2247 | sql | 10 | f | t | 0 | 0 | 2248 | plpgsql | 10 | t | t | 12019 | 12020 | 12021 | (4 rows) lib目录(以及pkglibdir以防万一): $pg_config --libdir /Applications/Postgres.app/Contents/MacOS/lib $pg_config --pkglibdir /Applications/Postgres.app/Contents/MacOS/lib 存档文件: $cd /Applications/Postgres.app/Contents/MacOS/lib; ls plpg* plpgsql.so DLSUFFIX设置正确: lib/pgxs/src/Makefile.shlib:135: DLSUFFIX = .so 尝试卸载并重新安装,但没有任何区别.有任何想法吗?
您是否在同一个盒子上安装了Postgres的多个实例(多个版本或同一版本的多个实例)?标准Postgres不适合. Debian或Ubuntu有额外的基础设施,可以并行使用多个版本.不过我不知道OS X.
在标准的Postgres中,path for which pg_config 小调: > 9.3.0?建议始终升级到latest point-release,即9.3.2 atm.也许当前的来源可以解决您的问题. SELECT * FROM pg_settings WHERE name ~~* '%lib%' >永远不要引用语言名称’plpgsql’.它是一个标识符:plpgsql. 否则你的函数定义很好.这不是问题的根源: CREATE OR REPLACE FUNCTION table_update() RETURNS TRIGGER AS $func$ BEGIN NEW.last_edit := now(); RETURN NEW; END $func$ LANGUAGE plpgsql; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |