( крутится в докере, в вольюме данные, весь кластер весит 1.4Tb) до версии 14?
я пошел по пути: сначала pg_dumpall -u postgres > dump.file
а потом поднял новый докер с postgres:14 и чистым вольюмом, внутри выполнил psql < dump.file. Но выполняется разворачивание БД крайне медленно.
Можно попробовать через pg_restore -j ключ, кол-во джобов увеличить
Возможно, ошибусь, но разве pg_restore умеет восстанавливать из SQL - файла?
А с чего бы он не должен был?
Нет, но запустить pg_dump под формат pg_restore — не должно быть большой проблемой.
Вот, то есть вместо pg_dumpall нужно запустить pg_dump для каждой базы в кластере, а потом уже соответственно для каждого дампа - pg_restore вызывать из 14 Postrges.
Вариант 1 (для хорошо знающих докер, администрирование линухов и ориентирующихся в постгрес) — установить параллельно контэйнер с 14, остановить постгрес в контэйнере 12 (оставив контэйнер запущенным), примонтировать 12 контэйнер и вольюм с данными в 14, запустить pg_upgrade из 14, указав ему бинарники 12 из примонтированного контэйнера. Другие варианты — переливать встроенной логической репликацыей или её аналогами (pglogical, slony).
хм, первый вариант кажется мне предпочтительнее.. Про pg_upgrade не знал, почитаю. А насколько шутсро эта утилита вообще может провернуть upgrade?
Вопрос минуты с 12 на 14 наскольк. Но читайте release notes каждого промежуточного выпуска — там, например, надо будет потом вручную пересоздавать все свои функцыи, работающие с range.
Понял, учту, спасибо!
Обсуждают сегодня