Как то понадобилось перенести папку с данными БД PostgreSQL в другое место, приступим. Проверим текущее расположение файлов БД:
sudo -u postgres psql
SHOW data_directory;
Примерно должны увидеть следующее:
data_directory
------------------------------
/var/lib/postgresql/9.5/main
(1 row)
С помощью rsync копируем папку в новое место.
sudo rsync -av /var/lib/postgresql /mnt/volume-nyc1-01
После успешного копирования, переименуем текущую директорию
sudo mv /var/lib/postgresql/9.5/main /var/lib/postgresql/9.5/main.bak
По умолчанию, data_directory переменная указывает на /var/lib/postgresql/9.5/main в файле конфигурации (/etc/postgresql/9.5/main/postgresql.conf). Отредактируем файл конфигурации и найдем переменную data_directory.
sudo nano /etc/postgresql/9.5/main/postgresql.conf
. . .
data_directory = '/mnt/volume-nyc1-01/postgresql/9.5/main’
. . .
Запускаем PostgreSQL
sudo systemctl start postgresql
sudo systemctl status postgresql
Проверяем
sudo -u postgres psql
postgres=# SHOW data_directory;
data_directory
-----------------------------------------
/mnt/volume-nyc1-01/postgresql/9.5/main
(1 row)
Если все верно, то удаляем старую папку
rm -Rf /var/lib/postgresql.bak