我正在尝试建立一个数据库并且必须创建一个函数:
create or replace function uuid() returns uuid as 'moss_uuidgen', 'moss_uuidgen' language 'C' strict;
每次我执行 postgre 都会告诉我在 .so 文件中有一个 undefined symbol palloc
我知道这个版本的 Postgresql 已经过时,但它似乎是唯一适用于我的项目的版本。有谁知道为什么 postgre 似乎不知道 palloc
?
moss=# create or replace function uuid() returns uuid as 'moss_uuidgen',
moss-# 'moss_uuidgen' language 'C' strict;
FEHLER: konnte Bibliothek »/usr/lib/postgresql/8.4/lib/moss_uuidgen.so« nicht laden: /usr/lib/postgresql/8.4/lib/moss_uuidgen.so: undefined symbol: palloc
moss=# \q
moss@McWiki:/usr/local$
源文件在这里可用:https://foundry.openuru.org/hg/MOSS/file/3e78d60a5282/postgresql
我使用 make
和 make install
构建文件。
操作系统:带有 Postgre 8.4 的 Ubuntu Server 20.04 LTS
最佳答案
感谢您的帮助,我意识到我为 psql 9.4 构建文件并尝试将其与 psql 8.4 一起使用,这真是愚蠢。现在用 8.4 重建后它工作正常(至少创建函数,db 仍然不能与我的游戏服务器一起工作)
关于PostgreSQL-8.4 : undefined symbol: palloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34369260/