Перенести базы PostgreSQL на другой диск Windows

Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск. Общий алгоритм такой (включая linux системы):

  • Останавливаем сервис СУБД
  • Перемещаем базы
  • Меняем конфиг postgres
  • Запускаем сервис СУБД

Для Windows системы:

  1. Заходим в сервисы
    Нажимаем WIN+R, и вводим команду
    services.msc

    Отключаем службу, относяющуюся к СУБД, например postgresql-x64-9.6 - PostgreSQL Server 9.6. В свойствах службы можно посмотреть команду запуска. Свойства службы postgres В сущности необходимо будет поменять параметр после ключа -D

  2. Заходим в реестр
    Нажимаем WIN+R, и вводим команду
    regedit

    Ищем ветку служб Windows и наш сервис СУБД, например postgresql-x64-9.6 - PostgreSQL Server 9.6

    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
  3. Меняем ключ реестра ImagePath. Реестр Windows, служба postgres

Допустим надо указать папку D:\databases\PostgreSQL\9.6. Тогда, вместо

"C:\Program Files\PostgreSQL\9.6\bin\pg_ctl.exe" runservice -N "postgresql-x64-9.6" -D "C:\Program Files\PostgreSQL\9.6\data" -w

прописываем:

"C:\Program Files\PostgreSQL\9.6\bin\pg_ctl.exe" runservice -N "postgresql-x64-9.6" -D "D:\databases\PostgreSQL\9.6" -w
  1. Копируем/перемещаем базы из старого места в новое
  2. Запускаем службу

Для linux системы:

  1. Отключаем службу, относяющуюся к СУБД
    /etc/init.d/postgresql stop
  2. В конфигурационном файле /etc/init.d/postgresql меняем содержимое переменной $PGDATA
  3. Копируем/перемещаем базы из старого места в новое
  4. Запускаем службу, относяющуюся к СУБД
    /etc/init.d/postgresql start

Ссылка по теме:

Похожие записи

Ubuntu. В разделе /boot не осталось места.

Недавно столкнулся с проблемой, что система ubuntu не может обновиться. Пишет ошибки про неудвлетворенные зависимости и не дает возможности завершится командам.

31 августа 2017 г. в Linux

Cannot start virtual machine on Virtualbox

Проблема

Raw-mode is unavailable courtesy of Hyper-V.
(VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT).

Решение

Отключить компонент Windows - Hyper-V и перезагрузиться.

Панель управления -> Все элементы панели управления ->Программы и компоненты -> Включание или отключение компонентов Windows

P.S. После этих действие может появится ошибка The VM session was aborted. Достаточно перезагрузить виртуальную машину.