Изначально лучше монтировать /var/lib на второй раздел, чтобы не переносить после установки базу.
Для переноса:
- Получить пути до конфигурационного файла postgresql.config и директории с БД:
- зайти в клиент psql
sudo -u postgres psql
- получить путь до postgresql.config
show config_file;
- получить путь до директории с БД
show data_directory;
- зайти в клиент psql
- Остановить службу postgresql.service
sudo systemctl stop postgresql.service
- Создать директорию для размещения БД (если еще нет) и выдать необходимые права:
- создать директорию
sudo mkdir -p /new/data/location/
- сменить владельца
sudo chwon -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;
- должен быть указан новый путь
- зайти в клиент psql