Перенос БД PostgreSQL на другой сервер

Данная инструкция поможет вам перенести базу данных PostgreSQL с одного сервера на другой. Процесс переноса базы данных мы будем рассматривать на примере СУБД PostgreSQL версии 9.3.4 в ОС Windows 7.

Для начала подготовьте новый сервер СУБД PostgreSQL, на который будет происходить миграция. Для этого:

Создайте резервную копию старой БД. Для этого:

  1. Запустите утилиту pgAdminIII (Пуск -> PostgreSQL 9.3 -> pgAdmin III).
  2. Подключитесь к БД, дважды кликнув левой кнопкой мыши на пункте PostgreSQL 9.3 (localhost:5433). В случае запроса пароля, введите пароль СуперПользователя, указанный при установке СУБД.

  3. Выберите в дереве базу данных, которою собираетесь перенести на новый сервер и в контекстном меню выберите пункт Резервная копия...

  4. В открывшемся окне, на вкладке Файл:
    • укажите Имя файла резервной копии;
    • в поле Формат выберите значение Настраиваемый;
    • в поле Степень сжатия оставьте без изменений;
    • в поле Кодировка выберите значение UTF8;
    • в поле Имя роли выберите postgres;

  5. На вкладках Параметры дампа#1 и Параметры дампа#2 установите флаги также, как указанные на картинках ниже:

  6. Перейдите на вкладку Объекты и установите все флаги на дереве объектов:

  7. Перейдите на вкладку Сообщения и запустите создание резервной копии БД, нажав кнопку Резервная копия.

    В процессе создания резервной копии в поле будут выводиться сообщения и в случае успешного создания резервной копии БД в конце должно появится сообщение Процесс вернул код выхода 0.. В противном случае проверьте ранее описанные настройки и повторите процесс создания резервной копии.

После того, как резервная копия была создана перенести ее на новый сервер и восстановите БД из нее. Для этого:

  1. Запустите утилиту pgAdminIII (Пуск -> PostgreSQL 9.3 -> pgAdmin III).
  2. Подключитесь к БД, дважды кликнув левой кнопкой мыши на пункте PostgreSQL 9.3 (localhost:5433). В случае запроса пароля, введите пароль СуперПользователя, указанный при установке СУБД.
  3. Выберите в дереве пункт Базы данных и в контекстном меню выберите пункт Новая база данных...

  4. В открывшемся окне, на вкладках Свойства и Определение укажите параметры такие же как на картинках ниже:

    В поле Имя введите имя базы данных на новом сервере. Параметры на остальных вкладках оставьте без изменений и для создания новой базы данных нажмите кнопку ОК.
  5. Выберите в дереве только что созданную базу данных и в контекстном меню выберите пункт Восстановить...

  6. В открывшемся окне, на вкладке Файл:
    • в поле Формат выберите значение Пользовательский или tar;
    • в поле Имя файла укажите путь к ранее сохраненной резервной копии;
    • поле Количество заданий оставьте без изменений;
    • в поле Имя роли выберите postgres;

    Параметры на остальных вкладках оставьте без изменений.
  7. Перейдите на вкладку Сообщения и запустите процесс восстановления БД, нажав кнопку Восстановить.

    В процессе восстановления базы данных в поле будут выводиться сообщения и в случае успешного восстановления БД из резервной копии в конце должно появится сообщение Процесс вернул код выхода 0.. В противном случае проверьте ранее описанные настройки и повторите процесс восстановления БД.

Процесс переноса БД PostgreSQL на новый сервер завершен, теперь можете изменить настройки подключения к базе данных.