夏清然

夏清然的博客

他的个人主页  他的博客

解决pgpool2.2.2和PostgreSQL8.4兼容

夏清然  2009年07月16日 星期四 16:03 | 1715次浏览 | 6条评论

PostgreSQL 8.4和pgpool-II 2.2.2存在代码上的不兼容
昨晚搞了一阵子,特留档备查

PostgreSQL从8.3.x升级到8.4后,pgpool-II的最新版2.2.2无法编译通过,报以下错误:

 

======================================

sed 's,MODULE_PATHNAME,$libdir/pgpool-recovery,g' pgpool-recovery.sql.in >pgpool-recovery.sql

cc -O2 -fno-strict-aliasing -pipe -O3 -funroll-loops -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -fPIC -DPIC -I. -I/usr/local/include/postgresql/server -I/usr/local/include/postgresql/internal -I/usr/local/include -c -o pgpool-recovery.o pgpool-recovery.c

pgpool-recovery.c: In function `pgpool_recovery':

pgpool-recovery.c:47: error: `textout' undeclared (first use in this function)

pgpool-recovery.c:47: error: (Each undeclared identifier is reported only once

pgpool-recovery.c:47: error: for each function it appears in.)

pgpool-recovery.c: In function `pgpool_remote_start':

pgpool-recovery.c:79: error: `textout' undeclared (first use in this function)

gmake: *** [pgpool-recovery.o] Error 1

*** Error code 2

======================================

 

经过查找,应该是PostgreSQL 8.4的include文件有了一些改动造成。

解决方法:

在pgpool-II 2.2.2的源代码文件 sql/pgpool-recovery/pgpool-recovery.c 第40行加入:

extern Datum textout (PG_FUNCTION_ARGS);

即可!

 

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
夏清然

回复 夏清然  2009年08月25日 星期二 00:42

pgpool-II 2.2.3(8月11号发布)和pgpool-II 2.2.4(8月24号刚发布)已经解决此问题。

0条回复

李洋

回复 李洋  2009年07月16日 星期四 18:45

门外汉不知所云,纯粹路过,帮顶
PS,从你的照片看,似乎比以前丰满了,是不是因为吃了很多好吃的呢

1条回复

夏武

回复 夏武  2009年07月16日 星期四 16:53

技术牛人,加油!

1条回复

徐继哲

回复 徐继哲  2009年07月16日 星期四 16:27

强烈支持深度技术博客,顶!

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号