Исходные данные

Сервер DHCP, который раздает адреса для VM в Proxmox VE. У меня это роутер Mikrotik.

Виртуальная машина с PostgreSQL на Ubuntu 22.04. При этом неважно, это виртуализированный дистрибутив (машина VM) или контейнер (машина CT).

Согласно инструкции, для обновления с версии на версию PostgreSQL требуется выгрузить данные через pg_dumpall из старого релиза и загрузить полученный дамп командой psql нового релиза.

Решение

1. Установить новый релиз PostgreSQL, ВАЖНО: при этом не включая автозапуск нового релиза при загрузке;

    2. Клонировать выключенную исходную VM, обязательно убедиться, что отличается MAC адрес исходной VM и клона VM.

    При копировании виртуальный диск клона возможно разместить на ином, менее производительном диске (у меня это 2Тб SSD для горячих архивных копий) или в ином доступном месте для экономии ресурса дорогого и производительного диска для баз данных;

      3. Отключить в с исходной VM запуск при загрузке предыдущей версии PostgreSQL, настроить автозапуск и отличный от предыдущего каталог новой версии PostgreSQL.

      4. Запустить на исходной машине PostgreSQL новой версии, устанавить логин и пароль, проверить доступ;

      5. Запустить клон, проверить доступ к предыдущему релизу с использованием нового адреса в Proxmox VE адрес возможно посмотреть внутри запущенной машины или из консоли;

      6. При корректном выполнении пункта 5 удалить предыдущий PostgreSQL и каталог базы данных. Не забудьте сохранить postgresql.conf и другие конфигурационные файлы для обращения к предыдущим настройкам тюнинга PostgreSQL.

      7. На исходной VM с установленной актуальной версией PostgreSQL выполнить pg_dumpall -h <адрес клона> | psql -h <адрес исходной VM>

      Переход выполнен