Centos7上编译安装PostgreSQL9.0报错FATAL: wrong number of index expressions怎么解决


您的位置:首页>技术疑问> 内容正文

Centos7上编译安装PostgreSQL9.0报错FATAL: wrong number of index expressions怎么解决

这篇文章主要介绍了Centos7上编译安装PostgreSQL9.0报错FATAL: wrong number of index expressions怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Centos7上编译安装PostgreSQL9.0报错FATAL: wrong number of index expressions怎么解决文章都会有所收获,下面我们一起来看看吧。

报错信息:

-bash-4.2$ /usr/local/pg9.0/bin/initdb -D /usr/local/pg9.0/data/
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale en_US.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "english".

fixing permissions on existing directory /usr/local/pg9.0/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /usr/local/pg9.0/data/base/1 ... ok
initializing pg_authid ... FATAL:  wrong number of index expressions
STATEMENT:  REVOKE ALL on pg_authid FROM public;

child process exited with exit code 1
initdb: removing contents of data directory "/usr/local/pg9.0/data"

问题原因:

gcc版本过高。高版本的gcc采用了更激进的循环上界分析推导算法。但这会导致一些旧的程序运行出错。

解决方案:

  • 推荐的方法:升级PostgreSQL到更新的版本。

  • 如果无法更换PG数据库版本和操作系统版本,则可以采取如下临时解决方案:
    1.在数据库编译安装进行configure操作时,添加参数"-Wno-aggressive-loop-optimizations""-fno-aggressive-loop-optimizations"
    如:

./configure --prefix=/usr/local/pg9.0 CFLAGS="-Wno-aggressive-loop-optimizations"
make clean
make 
make install

我的环境 gcc 4.8.5

关于“Centos7上编译安装PostgreSQL9.0报错FATAL: wrong number of index expressions怎么解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Centos7上编译安装PostgreSQL9.0报错FATAL: wrong number of index expressions怎么解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注美国cn2行业资讯频道。

发布时间:2022-10-21

统计代码