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