You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Изначально лучше монтировать /var/lib на второй раздел, чтобы не переносить после установки базу.

Для переноса:

  1. Получить пути до конфигурационного файла postgresql.config и директории с БД:
    • зайти в клиент psql
      sudo -u postgres psql
    • получить путь до postgresql.config
      show config_file;
    • получить путь до директории с БД
      show data_directory;
  2. Остановить службу postgresql.service
    sudo systemctl stop postgresql.service
  3. Создать директорию для размещения БД (если еще нет) и выдать необходимые права:
    • создать директорию
      sudo mkdir -p /new/data/location/
    • сменить владельца
      sudo chwon -R postgres:postgres /new/data/location/
    • установить уровень доступа
      sudo chmod 700 /new/data/location/
  4. Скопировать данные из директории с БД в новую директорию
    sudo rsync -av <data_directory из шага 1> /new/data/location/
  5. Открыть файл postgresql.config
    sudo nano <config_file из шага 1>
  6. Заменить путь на новый
    data_directory = '/new/data/location'
  7. Проверить указан ли старый путь в postgresql.service. Исправить на новый если указан.
    sudo nano /lib/systemd/system/postgresql.service
  8. Если изменялся файл postgresql.service перезагрузить менеджер конфигурации systemd
    sudo systemctl daemon-reload
  9. Запустить службу postgresql.service
    sudo systemctl start postgresql.service
  10. Проверить изменился ли путь:
    • зайти в клиент psql
      sudo -u postgres psql
    • проверить путь в data_directory
      show data_directory;
    • должен быть указан новый путь
  • No labels