Кластер базы данных был инициализирован без USE_FLOAT8_BYVAL, но сервер был скомпилирован с USE_FLOAT8_BYVAL - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь реплицировать базу данных PostgreSQL 9.6 с моей 64-битной машины openSUSE на 64-битную машину Mint, следуя инструкциям здесь .

Но когда я запускаю 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 в мастер (нет важных данныхв нем еще) с любыми настройками, которые необходимы, чтобы заставить это работать, но я не видел опции на странице справки initdb для USE_FLOAT8_BYVAL, и мои поиски оказываются пустыми для того, как это сделать.

РЕДАКТИРОВАТЬ: Это версии, которые я использую:

                                                                     version                                                                     
-------------------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.6.11 on x86_64-pc-linux-gnu (Ubuntu 9.6.11-1.pgdg16.04+1), compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609, 64-bit
(1 row)

                                         version                                         
-----------------------------------------------------------------------------------------
 PostgreSQL 9.6.10 on aarch64-suse-linux-gnu, compiled by gcc (SUSE Linux) 4.8.5, 64-bit
(1 row)

1 Ответ

0 голосов
/ 07 декабря 2018

Вы должны были бы перекомпилировать PostgreSQL, чтобы изменить это.

Обычно этот параметр определяется архитектурой машины, на которой построен PostgreSQL - например, в 32-битной архитектуре у вас может не бытьДоступны 64-разрядные целые числа.

Возможно, вы пытаетесь выполнить репликацию между различными архитектурами или у вас установлена ​​64-разрядная версия PostgreSQL на основной и 32-разрядной версии PostgreSQL в режиме ожидания.

Этоне сработает.

...