Назад | Перейти на главную страницу

Можно ли обновить Postgres 8.3.3 с существующими базами данных до 8.4.2 (установлена ​​windows vista)?

Я рассматриваю возможность обновления Postgres 8.3.3 до 8.4.2 на моем компьютере (на нем Windows Vista).

Установщик Windows (установщик в один клик) для Postgres 8.4.2, который можно загрузить с сайта enterpriseisedb.com, предлагает только новую установку (он не распознает мою текущую установку v8.3.3).

Возможно ли обновление с преобразованием всех существующих баз данных и отображением (автоматическим переносом) в новой версии сразу после обновления? Или мне нужно сделать что-то еще - резервное копирование / восстановление всех баз данных вручную?

Простой ответ: вам нужно pg_dump, установить свежую версию 8.4, а затем загрузить.

Нет такого простого ответа - вы можете использовать pg_migrator для обновления двоичных файлов на месте, но я еще не тестировал его.

Я пробовал pg_migrator и:

  1. Последняя версия (8.4.11) не подходит для моего теста на миграцию - она ​​позволяет перейти на 8.5, но мне нужен переход на 8.4.2.

    Performing Consistency Checks Checking old data directory (c:\program files\postgresql\8.3\data)ok Checking new data directory (c:\program files\postgresql\8.4\data)ok

    This binary was built using 8.5 PostgreSQL sources; it must be built using 8.4 PostgreSQL sources to match the new cluster.

но ... на домашней странице pg_migrator нет информации о том, какая версия мигратора для какой целевой версии Postgres. Я загрузил и установил v8.4.4, и это кажется подходящей версией, но вот что я говорю:

mapped win32 error code 2 to 2 Old and new pg_controldata date/time storage types do not match.

You will need to rebuild the new server with configure --disable-integer-datetimes or get server binaries built with those options.

Так что для меня это не так автоматично. Думаю, старый классический pg_dump / restore подойдет лучше.