На машине стоит FreeBSD 6.4. До селе использовалась база с postgresql 8.2.9. Потом добрые люди дали мне некое подобие дампа базы (каталог data) и сказали, что это надо поднять. Судя по выкидываемым ошибкам было выяснено, что эта база крутилась на 8 версии сервера постгрея. Переставив на 8.0.17 после попытки запустить выкидывает сделующее:
# su -l pgsql -c '/usr/local/bin/postgres -D /usr/local/pgsql/data'
FATAL: database files are incompatible with server
DETAIL: The database cluster was initialized with PG_CONTROL_VERSION 822, but the server was compiled with PG_CONTROL_VERSION 74.
HINT: It looks like you need to initdb.
Погугив ненашел ничего интересного , разве что по поводу строки
Потом добрые люди дали мне некое подобие дампа базы (каталог data) и сказали, что это надо поднять.
Это не добрые люди, это балбесы (извините за выражение).
Они вам дали базу в бинарном виде, как она была у них на диске - а надо было дамп.
Вам нужно найти установленный postgre такой же версии, что стоял у них; и сделать то, что вы хотели сделать у себя (заменить папку data). После того, как база там подымется, сделать дамп нужной БД (посредством pg_dump). Или, как вариант, попросить "добрых людей" сделать дамп нужной БД (посредством того же pg_dump).
В результате, вы получите файл, содержащий БД - и этот файл можете импортировать (посредством pg_restore) на любой postgre-сервер, вне зависимости от версии.
Потом добрые люди дали мне некое подобие дампа базы (каталог data) и сказали, что это надо поднять.
Это не добрые люди, это балбесы (извините за выражение).
Они вам дали базу в бинарном виде, как она была у них на диске - а надо было дамп.
Вам нужно найти установленный postgre такой же версии, что стоял у них; и сделать то, что вы хотели сделать у себя (заменить папку data). После того, как база там подымется, сделать дамп нужной БД (посредством pg_dump). Или, как вариант, попросить "добрых людей" сделать дамп нужной БД (посредством того же pg_dump).
В результате, вы получите файл, содержащий БД - и этот файл можете импортировать (посредством pg_restore) на любой postgre-сервер, вне зависимости от версии.
По поводу точной весии базы приходится только гадать, но я пробовал разные версии, отчет об этом находится по ссылке приведенной в первом посте.
По поводу точной весии базы приходится только гадать, но я пробовал разные версии, отчет об этом находится по ссылке приведенной в первом посте.
Тем не менее, формат бинарного хранилища (представление данных в пресловутой папке data) может меняться от версии к версии - никто не гарантирует совместимость, да и она не нужна. Для переноса данных служат дампы.
Я не знаю, как хранится идентификатор версии сервера в бинарных файлах базы (и хранится ли вообще); лучше вам, конечно, попросить знакомых сдампить нужную базу. Иначе копайте в сторону определения версии postgre по файлам базы, ставьте такую же версию ..и т.д.