<< Click to Display Table of Contents >> Администрирование (Linux) > Сопровождение работы системы Перенос БД PostgreSQL на другой диск
|
![]() ![]() |
Иногда администратору может потребоваться перенести БД на другой диск. Например, при смене серверного оборудования или расширении дисковой системы.
Перед переносом БД PostgreSQL на другой диск выполните подготовительные действия:
1.Остановите все сервисы. Для этого перейдите в папку с Directum Launcher, запустите командную строку и выполните команду:
./do.sh all stop
2.Выполните резервное копирование БД, которые необходимо перенести, с помощью команды:
pg_basebackup
Перенос данных
Перенос БД PostgreSQL рассмотрим на примере. Предположим, в каталог /pgdata подключен диск, на который нужно переместить данные. Далее в примерах вместо значений, выделенных жирным шрифтом, укажите свои значения.
1.Проверьте расположение каталога данных с помощью команды:
psql -U postgres -c "SHOW data_directory;"
Пример результата выполнения:
data_directory
-----------------------------
/var/lib/postgresql/13/main
(1 row)
2.Остановите БД. Для этого выполните команду:
pg_ctlcluster 13 main stop
3.Перенесите данные с помощью утилиты rsync:
rsync -av /var/lib/postgresql /pgdata
4.Установите владельца:
chown -R postgres:postgres /pgdata
ПРИМЕЧАНИЕ. Убедитесь, что имя каталога не содержит в конце символ /, иначе – удалите его из команды.
5.Переименуйте текущий каталог данных:
mv /var/lib/postgresql/13/main /var/lib/postgresql/13/main.backup
6.Откройте конфигурационный файл PostgreSQL /etc/postgresql/13/main/postgresql.conf. Замените значение параметра data_directory – каталога, в котором хранятся данные, на значение /pgdata/postgresql/13/main.
7.Запустите кластер PostgreSQL. Для этого выполните команду:
pg_ctlcluster 13 main start
8.Проверьте, что каталог с данными изменился:
psql -U postgres -c "SHOW data_directory;"
Пример результата выполнения:
data_directory
-----------------------------
/pgdata/postgresql/13/main
(1 row)
9.Удалите старый каталог:
rm -rf /var/lib/postgresql/13/main.backup
© Компания Directum, 2024 |