Бэкап БД integraplanetearth
Существующие ограничения бэкапов с БД integraplanetearth
В связи с особенностями архитектуры БД integraplanetearth следует избегать переноса базы данных с помощью обычных бэкапов(pg_dump / pg_restore), так как в этом случае ломается разграничение прав доступа. Самый оптимальный способ - перенос всего кластера целиком и подмены его на новой машине. Стоит отметить, что существуют проблемы бинарной совместимости между кластерами, развернутыми на разных версиях PostgreSQL, а также на разных операционных системах. Доказана несовместимость между версиями кластера для PostgreSQL 9.3 и 9.6, а также между кластерами, развернутыми на одной версии PostgreSQL, но на Windows и Linux. Поэтому рекомендуется брать кластер, полностью совместимый по версии PostgreSQL и версии ОС.
Последовательность действий для подмены кластера БД
Этап установки PostgreSQL на целевой машине опущен, за подробностями рекомендуется обратиться к соответствующей инструкции(например, Установка сервера в Windows)
- Остановить службу PostgreSQL на машине, откуда копируем кластер БД. Внимание! Копирование кластера при работающей службе строго запрещено! Возможна потеря данных!
- Скопировать папку с кластером(data или pg_data), также рекомендуется заархивировать ее.
- На целевой машине остановить службу БД.
- Удалить или переместить исходный кластер, заменив его версией, полученной на шаге 2.
- Запустить службу PostgreSQL на целевой машине.
- Подключиться к PostgreSQL, убедиться, что служба работает и кластер отдает данные.