Доброго дня. Имеем установленный Nextcloud с базой данных на PostgreSQL. OC - Debian10
Будет создан raid из 2х ссд, хочется на него перенести базу данных(от неё же зависит производительность?) и файлы.
С файлами проблем нету, вопрос как лучше перетащить на новый raid Postgres
Ну и вдогонку - тот же вопрос по докеру... так же хочется его перетащить на новый raid...
Докер-приложение вроде всё в одном месте лежит, в /opt...
у постгреса есть переменная которая определяет путь папке с фалами БД, вы можете стопнуть сервис, перенести файлы, поправить путь в переменной и запустить постгрес.
Правка переменной с путем:
systemctl edit postgresql.service
и там прописать
[Service]
Environment=PGDATA=/newdirectory/postgresql/data
Если простой не критичен:
- остановить базу
- убедиться что они завершила работу
- посмотреть в список процессов и убедиться, что база на самом деле выключена
- переместить директорию базы
- положить симлинк со старого до нового местоположения
- запустить базу
Если простой критичен - поднять реплику (в пределах одного сервера, да). После запуска реплики остановить старый инстанс, реплику поднять до нового мастера.
Да, штатный способ переноса постгресовской базы, если возможен даунтайм - тупое копирование файлов. Если критичен минимальный даунтайм - поднятие реплики.
Зачем этот оверхед на время дампа, рестор, перестроение индексов - если человеку нужно просто переложить базу на другой раздел?
Делаете как положено, штатными средствами export\import баз.
как лучше перетащить на новый raid Postgres
Заострю внимание: в пределах одного сервера.
Ну вот сами и объясняйте как сделать initdb, с какими ключами, как запустить два инстанса postgresql параллельно, где потом править PGDATA на новое местоположение в системных сервисах (с учётом используемой ос и init'а, в дебианах systemctl edit postgresql.service скорей всего уведёт не туда куда надо). Ну, ничего сложного, конечно. Но зачем?