Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск. Общий алгоритм такой (включая linux системы):
- Останавливаем сервис СУБД
- Перемещаем базы
- Меняем конфиг postgres
- Запускаем сервис СУБД
Для Windows системы:
Заходим в сервисы
Нажимаем WIN+R, и вводим команду
[code]services.msc[/code]
Отключаем службу, относяющуюся к СУБД, например postgresql-x64-9.6 — PostgreSQL Server 9.6. В свойствах службы можно
посмотреть команду запуска.
В сущности необходимо будет поменять параметр после ключа -D
Заходим в реестр
Нажимаем WIN+R, и вводим команду
[code]regedit[/code]
Ищем ветку служб Windows и наш сервис СУБД, например postgresql-x64-9.6 — PostgreSQL Server 9.6
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
Меняем ключ реестра ImagePath.
Допустим надо указать папку 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
- Копируем/перемещаем базы из старого места в новое
- Запускаем службу
Для linux системы:
- Отключаем службу, относяющуюся к СУБД
[code]/etc/init.d/postgresql stop[/code]
- В конфигурационном файле /etc/init.d/postgresql меняем содержимое переменной $PGDATA
- Копируем/перемещаем базы из старого места в новое
- Запускаем службу, относяющуюся к СУБД
[code]/etc/init.d/postgresql start[/code]
Ссылка по теме:
- How To Move a PostgreSQL Data Directory to a New Location on Ubuntu 16.04