1

我正在尝试建立一个数据库并且必须创建一个函数:

create or replace function uuid() returns uuid as 'moss_uuidgen', 'moss_uuidgen' language 'C' strict;

每次我执行 postgre 时都会告诉我,在 .so 文件中有一个未定义的符号,名为palloc I know this version of Postgresql is outdated 但它似乎是唯一适用于我的项目的版本。有谁知道为什么 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$

源文件在这里可用:httpsmake ://foundry.openuru.org/hg/MOSS/file/3e78d60a5282/postgresql 我使用和 构建文件make install。操作系统:带有 Postgre 8.4 的 Ubuntu Server 20.04 LTS

4

1 回答 1

1

感谢您的帮助,我意识到我为 psql 9.4 构建了文件并尝试将它与 psql 8.4 一起使用,这真的很愚蠢。现在用 8.4 重建后它工作正常(至少创建函数,db 仍然不能与我的游戏服务器一起工作)

于 2015-12-19T11:57:55.393 回答