1. Получить текущий путь к базе данных
    1. В cmd перейти в папку с psql

      cd "C:\Program Files\PostgreSQL\16\bin"

      где 16 - версия PostgreSQL (может отличаться)

    2. Подключиться к нужной базе

      .\psql.exe -U postgres -d vitrodb


    3. Запросить путь к директории хранилища

      show data_directory;


  2. Остановить службу PostgreSQL

  3. Перенести данные из папки (1) в новое расположение

  4. Отредактировать команду, запускающую PostgreSQL
    1. Получить текущую конфигурацию службы и скопировать binPath

      sc qc postgresql-x64-16 1000

      где postgresql-x64-16 - название службы PostgreSQL (название службы может отличаться)

    2. Заменить путь к директории хранилища в binPath на актуальный

      sc config postgresql-x64-16 binPath= "\"C:\Program Files\PostgreSQL\9.5\bin\pg_ctl.exe\" runservice -N \"postgresql-x64-9.5\" -D \"E:\pg_db\data\" -w"

      где postgresql-x64-16 - название службы PostgreSQL, E:\pg_db\data\ - путь к новому расположению

      В команде необходимо экранировать все кавычки кроме первой и последней с помощью обратного слэша \.


  5. Выдать разрешения для новой директории хранилища уровня Полный доступ для УЗ Network Services
  6. Запустить службу PostgreSQL
  • No labels