После установки postgresql возникла необходимость перенести каталог с базами данных в более подходящее место, чем то, которое назначено по умолчанию. В Arch Linux базы хранятся в каталоге /var/lib/postgres и это не очень хорошо, т. к. при разрастании баз быстро заканчивается место на системном разделе.
Для хранения данных у меня примонтирован отдельный раздел в каталог /devel, вот туда я и буду переносить БД постгреса.
Все действия делаются из-под учётной записи root, либо необходимо использовать утилиту sudo.
- Устанавливаем утилиту rsync:
1
pacman -S rsync
pacman -S rsync
- Останавливаем сервис postgres:
1
systemctl stop postgresql
systemctl stop postgresql
- С помощью rsync переносим данные:
1
rsync -av /var/lib/postgres /devel
rsync -av /var/lib/postgres /devel
- Редактируем сервис postgresql:
1
systemctl edit postgresql
systemctl edit postgresql
Вот так это получилось у меня:
1 2 3
[Service] Environment=PGROOT=/devel/postgres PIDFile=/devel/postgres/data/postmaster.pid
[Service] Environment=PGROOT=/devel/postgres PIDFile=/devel/postgres/data/postmaster.pid
- Запускаем сервис postgres:
1
systemctl start postgresql
systemctl start postgresql
В каталоге /devel/postgres/data должен появиться файл postmaster.pid — это означает, что всё прошло успешно. Ну, вот и всё.