没有使用USE_FLOAT8_BYVAL初始化数据库集群,但是使用USE_FLOAT8_BYVAL编译服务器

时间:2018-12-06 19:47:17

标签: postgresql replication

我正在按照here的说明,将PostgreSQL 9.6 DB从openSUSE 64位计算机复制到Mint 64位计算机。

但是当我在从属服务器上启动psql时,出现以下错误:

FATAL:  database files are incompatible with server
DETAIL:  The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL.
HINT:  It looks like you need to recompile or initdb.
LOG:  database system is shut down

我可以在主服务器中重新运行initdb(尚无重要数据),并进行任何必要设置才能使其正常工作,但是我没有在{{ 1}}手册页转到initdb,而我的搜索结果却空白。

编辑: 这些是我正在使用的版本:

USE_FLOAT8_BYVAL

1 个答案:

答案 0 :(得分:3)

您必须重新编译PostgreSQL才能更改它。

通常,此设置由构建PostgreSQL的计算机的体系结构确定-例如,在32位体系结构上,您可能没有64位整数。

也许您正在尝试在不同体系结构之间进行复制,或者您在主数据库上安装了64位PostgreSQL,而在备用数据库上安装了32位PostgreSQL。

那行不通。