Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313692
  • 博文数量: 54
  • 博客积分: 3050
  • 博客等级: 中校
  • 技术积分: 601
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-25 16:53
文章分类
文章存档

2012年(1)

2011年(7)

2010年(46)

我的朋友

分类: LINUX

2011-01-19 22:34:45


    很诡异的,在Ubuntu-9.10 下面安装没有任何问题的Postgresql-9.0.0 源码包拿到 CentOS-5.4下面安装后,运行时就遇见提示:

 "语法错误 postgresql.conf 符号 MB 附近不能识别“,

英文提示应该为:

"syntax error in file postgresql.conf near token MB"。

    这个着实废了很大的劲,使用中英文关键字分别去Google,后来发现一个 postgresql官网上的讨论帖,见链接: 说到:

“Postgres 在 8.2之前不能够识别像 MB 这样的单位”
“Postgres did not recognize units like MB prior to 8.2.”

晕死,然后识别方式是运行  /usr/local/pgsql/bin (我的目录)下的 pg_ctl文件:

./pg_ctl --version ,看输出的版本号是否是小于 8.3 的。

这么一看,果不其然,版本号是 8.1.XX,但是相同的安装包在Ubuntu-9.10 下面安装的却是 9.0.0 版本,这个是为什么呢.....

后来使用 yum install postgresql 在 CentOS 上面安装 PostgreSql,发现默认的版本是 8.1.xx,难道安装的时候是安装的这个默认版本对应的 pg_ctl 程序?

如果是这洋的话,也应该是 configure 文件里自己根据判断这么安装的,因为两个安装都是自动的,出现不同只能说是配置文件里面的问题,此时,一个想法冒出来,还是猜测,那就是安装时使用了 --with-lib=/usr/bin 选项来包含 readline 库的 readline.h 文件所在的文件夹,但是 /usr/bin 下面还可能有很多其他的库呢,可不可能 configure 文件在做判断时先判断了一下系统啊什么的,然后直接给安装了一个 8.1.XX 版本的pg_ctl 呢?

后来,又去下载了 postgresql-9.0.2 来进行安装,这次使用选项 --with-lib=/usr/bin/readline 来安装,结果 pg_ctl 版本为 9.0.2.

但是,由于前后使用了不同的版本来测试 --with-lib 这个配置选项,所以并不清楚是不是这个选项导致的 pg_ctl 版本的不同。

PS:--with-lib=/usr/bin 选项只和 readline 库有关,没有这个选项的话,只在 lreadline和 ledit 库安装的时候出错,而使用 --without-readlin 选项可以编译出一个不带回查历史命令,不可以在命令行编辑命令的 postgresql 出来。


果冻
Wen, Jan/19/2011.

阅读(1981) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-09 12:04:17

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com