我的Postgresql安装正常,但是当我调用某个特定函数时,我得到一个未定义的符号HeapTupleHeaderGetDatum
,并且plpgsql.so
将无法加载。
这将是一个问答,这个Q&amp; A的原因是这里的当前答案没有出现在谷歌搜索结果中,我希望这将有助于其他人 < / p>
答案 0 :(得分:4)
重新启动Postgresql数据库,
您已经更改了postgresql的版本并忘记重新启动。
可以通过运行
来检查lbox:/>postgres --version
postgres (PostgreSQL) 9.1.15
Vs以上。
select version();
pg = #select version();
version
PostgreSQL 9.1.12 on x86_64-suse-linux-gnu, compiled by ....
答案 1 :(得分:1)
对于许多人来说,更可能的原因是动态链接器找到的libpq
比编译psql
之类的客户端程序的更早。 ldd psql
(或客户端遇到的任何问题)通常会帮助表明是否属于这种情况。
unlink()
(例如rm
)旧的二进制文件,然后创建新的二进制文件,它就是安全的。如果你就地覆盖,你将修改内存映射的二进制后备运行代码,这将产生令人兴奋和丰富多彩的结果。