Как правильно изменить месторасположение базы postgresql-9.2.18.rl7?

Добрый день, возникла проблема с нехваткой пространства в разделе, подключил второй диск, теперь необходимо перенести базу на другой раздел, можете подсказать как правильно перенести?
спасибо за понимание.
  • Вопрос задан
  • 2242 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
С большим даунтаймом, зато целиком на новый диск:
Потушить базу, скопировать PGDATA (data_directory в конфиге) в новое место, заменить data_directory в конфиге на новое место, запустить базу.
Можно, кстати, не менять data_directory, а сделать симлинк. Postgresql не против по симлинкам сходить за своими данными.

С небольшим даунтаймом, зато с чуть большим числом телодвижений:
через pg_basebackup сделать копию в новом месте, запустить там второй инстанс постреса с репликой. Когда реплика догонит мастер, потушить мастер (сделав checkpoint), потушить реплику (тоже с чекпоинтом), заменить data_directory в конфиге на новое место, запустить базу.

Без даунтайма:
инициализировать второй диск как tablespace, перенести на этот tablespace что мешается на основном (pg_repack попробуйте, емнип умеет без пишущего лока даже переносить). Использоваться будут оба диска, что кстати хорошо с точки зрения io.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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