Как перенести папку с данными PostgreSQL в другое место




Как то понадобилось перенести папку с данными БД 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

Рубрика LinuxМетки

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *