Не удалось пересобрать приложение, так как обновление PostgreSQL не удалось

Я использую один контейнер, установленный официальным способом.

Вот лог:

Обновление PostgreSQL с версии 13 до версии 15
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю "postgres".
Этот пользователь также должен владеть процессом сервера.

Кластер баз данных будет инициализирован с локали "en_US.UTF-8".
Кодировка базы данных по умолчанию соответственно установлена в "UTF8".
Конфигурация полнотекстового поиска по умолчанию будет установлена в "english".

Контрольные суммы страниц данных отключены.

Исправление разрешений для существующей директории /shared/postgres_data_new ... ok
создание поддиректорий ... ok
выбор реализации динамической разделяемой памяти ... posix
выбор max_connections по умолчанию ... 100
выбор shared_buffers по умолчанию ... 128MB
выбор часового пояса по умолчанию ... Etc/UTC
создание файлов конфигурации ... ok
запуск скрипта инициализации (bootstrap) ... ok
выполнение пост-инициализации после bootstrap ... ok
синхронизация данных на диск ... ok


Успешно. Теперь вы можете запустить сервер базы данных с помощью:

    /usr/lib/postgresql/15/bin/pg_ctl -D /shared/postgres_data_new -l logfile start

Получение:1 https://dl.yarnpkg.com/debian stable InRelease [17,1 кБ]
Получение:2 https://deb.nodesource.com/node_22.x nodistro InRelease [12,1 кБ]
Получение:3 http://deb.debian.org/debian bookworm-backports InRelease [59,0 кБ]
Получение:4 http://deb.debian.org/debian bookworm InRelease [151 кБ]
Получение:5 http://deb.debian.org/debian bookworm-updates InRelease [55,4 кБ]
Получение:6 http://deb.debian.org/debian-security bookworm-security InRelease [48,0 кБ]
Получение:7 https://dl.yarnpkg.com/debian stable/main amd64 Packages [10,9 кБ]
Получение:8 https://dl.yarnpkg.com/debian stable/main all Packages [10,9 кБ]
Получение:9 https://deb.nodesource.com/node_22.x nodistro/main amd64 Packages [5416 Б]
Получение:10 http://deb.debian.org/debian bookworm-backports/main amd64 Packages [283 кБ]
Получение:11 http://deb.debian.org/debian bookworm/main amd64 Packages [8792 кБ]
Получение:12 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [13,5 кБ]
Получение:13 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [245 кБ]
Получение:14 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg InRelease [129 кБ]
Получение:15 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 Packages [360 кБ]
Загружено 10,2 МБ за 24 с (417 кБ/с)
Чтение списков пакетов...
Чтение списков пакетов...
Построение дерева зависимостей...
Чтение информации о состоянии...
Следующие дополнительные пакеты будут установлены:
  postgresql-client-13
Рекомендуемые пакеты:
  postgresql-doc-13
Следующие НОВЫЕ пакеты будут установлены:
  postgresql-13 postgresql-13-pgvector postgresql-client-13
Обновлено 0, установлено 3 новых, удалено 0 и не обновлено 3.
Необходимо загрузить 17,3 МБ архивов.
После этой операции будет использовано дополнительно 56,7 МБ дискового пространства.
Получение:1 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 postgresql-client-13 amd64 13.18-1.pgdg120+1 [1523 кБ]
Получение:2 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 postgresql-13 amd64 13.18-1.pgdg120+1 [15,4 МБ]
Получение:3 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 postgresql-13-pgvector amd64 0.8.0-1.pgdg120+1 [297 кБ]
Загружено 17,3 МБ за 1 мин 12 с (238 кБ/с)
Выбор ранее не выбранного пакета postgresql-client-13.
(Чтение базы данных ... на данный момент установлено 33363 файлов и директорий.)
Подготовка к распаковке .../postgresql-client-13_13.18-1.pgdg120+1_amd64.deb ...
Распаковка postgresql-client-13 (13.18-1.pgdg120+1) ...
Выбор ранее не выбранного пакета postgresql-13.
Подготовка к распаковке .../postgresql-13_13.18-1.pgdg120+1_amd64.deb ...
Распаковка postgresql-13 (13.18-1.pgdg120+1) ...
Выбор ранее не выбранного пакета postgresql-13-pgvector.
Подготовка к распаковке .../postgresql-13-pgvector_0.8.0-1.pgdg120+1_amd64.deb ...
Распаковка postgresql-13-pgvector (0.8.0-1.pgdg120+1) ...
Настройка postgresql-client-13 (13.18-1.pgdg120+1) ...
Настройка postgresql-13 (13.18-1.pgdg120+1) ...
Создание нового кластера PostgreSQL 13/main ...
/usr/lib/postgresql/13/bin/initdb -D /var/lib/postgresql/13/main --auth-local peer --auth-host md5
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю "postgres".
Этот пользователь также должен владеть процессом сервера.

Кластер баз данных будет инициализирован с локали "C.UTF-8".
Кодировка базы данных по умолчанию соответственно установлена в "UTF8".
Конфигурация полнотекстового поиска по умолчанию будет установлена в "english".

Контрольные суммы страниц данных отключены.

Исправление разрешений для существующей директории /var/lib/postgresql/13/main ... ok
создание поддиректорий ... ok
выбор реализации динамической разделяемой памяти ... posix
выбор max_connections по умолчанию ... 100
выбор shared_buffers по умолчанию ... 128MB
выбор часового пояса по умолчанию ... Etc/UTC
создание файлов конфигурации ... ok
запуск скрипта инициализации (bootstrap) ... ok
выполнение пост-инициализации после bootstrap ... ok
синхронизация данных на диск ... ok

Успешно. Теперь вы можете запустить сервер базы данных с помощью:

    pg_ctlcluster 13 main start

invoke-rc.d: не удалось определить текущий уровень выполнения
invoke-rc.d: политика policy-rc.d запретила выполнение запуска.
Настройка postgresql-13-pgvector (0.8.0-1.pgdg120+1) ...
Обработка триггеров для postgresql-common (267.pgdg120+1) ...
Создание словарей PostgreSQL из установленных пакетов myspell/hunspell...
Удаление устаревших файлов словарей:
Остановка сервера баз данных PostgreSQL 13: main.
Остановка сервера баз данных PostgreSQL 15: main.
Выполнение проверок согласованности
-----------------------------
Проверка версий кластеров                                   ok

Исходный кластер был некорректно остановлен.
Ошибка, выход
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES НЕ УДАЛОСЬ

Пожалуйста, посетите https://meta.discourse.org/t/postgresql-15-update/349515 для получения поддержки.

Тем временем вы можете запустить ./launcher start app для перезапуска вашего приложения
-------------------------------------------------------------------------------------



ОШИБКА
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1
fi
 завершилась с кодом возврата #<Process::Status: pid 18 exit 1>
Место ошибки: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
выполнение команды не удалось с параметрами {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n  /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1\nfi\n"}
загрузка (bootstrap) завершилась с кодом выхода 1
** ЗАГРУЗКА НЕ УДАЛАСЬ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.
82e5245f6cce6139328d093702db6d9cc57686bd1ef10025bdabff6c5f8151fe

Это означает, что вам нужно

а затем выполнить ./launcher stop app и снова попробовать пересобрать.

Здравствуйте, я выполнил:

1 ./launcher start app
2 ./launcher stop app
3 ./launcher rebuild app

Но ошибка осталась той же.

Я, возможно, нашел причину. После запуска ./launcher stop app
Система БД не была корректно остановлена.
Я уже жду 3 минуты. Есть какие-то идеи?

2025-02-11 19:24:08.044 UTC [550] LOG:  прослушивание IPv4-адреса "0.0.0.0", порт 5432
2025-02-11 19:24:08.044 UTC [550] LOG:  прослушивание IPv6-адреса "::", порт 5432
2025-02-11 19:24:08.046 UTC [550] LOG:  прослушивание Unix-сокета "/var/run/postgresql/.s.PGSQL.5432"
2025-02-11 19:24:08.065 UTC [569] LOG:  система баз данных была прервана; последнее известное состояние «вверх» — 2025-02-11 19:19:31 UTC
2025-02-11 19:24:08.323 UTC [569] LOG:  система баз данных не была корректно остановлена; выполняется автоматическое восстановление
2025-02-11 19:24:08.326 UTC [569] LOG:  начало повторения с 3/2BE89C0
2025-02-11 19:24:08.326 UTC [569] LOG:  недопустимая длина записи в 3/2BEFFC8: ожидалось 24, получено 0
2025-02-11 19:24:08.326 UTC [569] LOG:  повторение завершено в 3/2BEFFA0
2025-02-11 19:24:08.344 UTC [550] LOG:  система баз данных готова принимать подключения

Вы хотите запустить контейнер. Подождите, пока база данных перейдёт в период низкой нагрузки, и попробуйте снова.

Сейчас практически никто не использует мой экземпляр Discourse, так что, думаю, база данных находится в период низкой активности…

Не могли бы вы попробовать эти шаги?

Это работает. Большое спасибо!