Задать вопрос

Как перенести каталог data в postgrespro-1c-15 на другой диск?

Имеем debian 12 установлен postgrespro-1c-15 каталога data лежит в /var/lib/pgpro/1c-15/data. Есть примонтированный диск ssd nvme в /mnt/pg_data. Нужно перенести туда каталог data целиком.

Cтопарю постгрес и копирую /var/lib/pgpro/1c-15/data в /mnt/pg_data.
Меняю владельца /mnt/pg_data на postgres.
В /var/lib/pgpro/1c-15/data/postgresql.conf в параметре указываю новое место расположени
data_directory = '/mnt/pg_data/data' # use data in another directory
Запускаю postgres
SHOW data_directory;
Вижу  что каталог дата перехал
/mnt/pg_data/data

Оcтанавливаю postgres делаю mv /var/lib/pgpro/1c-15 в /var/lib/pgpro/1c-15_old

Пытаюсь запустить postgres
Job for postgrespro-1c-15.service failed because the control process exited with error code.
See "systemctl status postgrespro-1c-15.service" and "journalctl -xeu postgrespro-1c-15.service" for details.


Подскажите что упустил ?
  • Вопрос задан
  • 1215 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@dr753 Автор вопроса
Обнаружил боле простой вариант (правка postgresql.conf не требуется)
Алгоритм прилагаю
Имеем ранее созданный каталог под PG (/mnt/pg_data/data) в который нужно перенести pg из старого место расположения (Не забываем дать нужные права chown -R postgres:postgres )
1) Стопарим PG
2)правим mcedit /opt/pgpro/1c-15/bin/pg-setup
указываем путь к новому каталогу
#PGDATA=/var/lib/pgpro/1c-15/data
PGDATA=/mnt/pg_data/data
3) Правим mcedit /etc/default/postgrespro-1c-15
#PGDATA=/var/lib/pgpro/1c-15/data
PGDATA=/mnt/pg_data/data
Копируем pg из старого места в новое
Переименовываем /var/lib/pgpro/1c-15/ (mv /var/lib/pgpro/1c-15 /var/lib/pgpro/1c-15_old)

Стартуем PG





Как гриться, мы пошли другим путём )
1)
Cтопарю постгрес и копирую /var/lib/pgpro/1c-15/data в /mnt/pg_data.
Меняю владельца /mnt/pg_data на postgres.
В /var/lib/pgpro/1c-15/data/postgresql.conf в параметре указываю новое место расположения
data_directory = '/mnt/pg_data/data' # use data in another directory
Запускаю postgres
SHOW data_directory;
Вижу что каталог дата переехал
/mnt/pg_data/data
Оcтанавливаю postgres делаю mv /var/lib/pgpro/1c-15 в /var/lib/pgpro/1c-15_old

2) mcedit /opt/pgpro/1c-15/bin/pg-setup
и делаем как на скрине 65deec6546f7b120663813.jpeg

Делаю /opt/pgpro/1c-15/bin/pg-setup initdb (от root), так как /mnt/pg_data/data уже есть не отрабатывает ( data там уже лежит, переименовываю /mnt/pg_data/data в /mnt/pg_data/data1 ).
Повторяю, все ок.

Cтартую pg - все работает но кластер чистый (что не удивительно).

Cтопарю pg удаляю /mnt/pg_data/data и переименовываю /mnt/pg_data/data1 в /mnt/pg_data/data.
Проверяю владельца на /mnt/pg_data/data (должен быть postgres:postgres).

Снова стартую Pg - проверяю мои базы на месте , data каталог в /mnt/pg_data/data
65dee5c9dbd7b704274781.jpeg
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
IMHO, самое простое - после копирования примонтировать новый диск в старый каталог.
Ответ написан
Комментировать
@asmelnik
systemctl edit --full postgrespro-1c-15.service
Почти наверняка в unit файле прописано откуда брать конфиг, и как только вы переименовали папку -- конфига найти не получается....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы