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

Как перенести базу данных postgres на другой сервер

Я планирую перенести базу данных Postgres размером ~ 100 ГБ на новый сервер. Сохраняется ли просто скопировать каталоги данных на новый сервер и запустить там базу данных, или мне нужно сделать дамп на первом сервере, а затем восстановление на втором?

Раздел базы данных первого сервера составляет около 120 ГБ, второй - 1 ТБ. Оба сервера работают под управлением одной и той же версии postgres на debian и соединены Ethernet 1 ГБ. Есть ли различия между двумя методами передачи базы данных? Каким будет самый быстрый (с наименьшим временем простоя) способ передачи данных на новый сервер?

Если они имеют одинаковую архитектуру, вы должны нормально завершить работу и выполнить синхронизацию файлов.

Вы также можете рассмотреть возможность создания дампа и импорта базы данных. Вы можете настроить дамп для перехода на новый раздел (возможно, через монтирование NFS).

В противном случае, @ Мэтта решение хорошее.

Эта миграция, вероятно, уже завершена, но я подумал, что все равно могу вмешаться.

Подготовка и настройка займет больше времени, но вы можете передать данные, настроив репликацию между двумя серверами. Вы можете использовать bucardo, londiste или slony. Это минимизирует время простоя по сравнению с rsync. По моему опыту, для rsync может потребоваться несколько минут для сравнения дисковых блоков между исходным и целевым хостами, если размер файлов для rsync превышает 10 ГБ.