Ошибка «Система баз данных не была корректно завершена» при перестроении

==================== СЕРЬЁЗНАЯ ПРОБЛЕМА!!!! ====================
приложение не запущено!
Попытка пересборки
==================== ЖУРНАЛ ПЕРЕСБОРКИ ====================
Проверка актуальности лаунчера
Получение изменений из origin
Лаунчер актуален
cd /pups && git pull && /pups/bin/pups --stdin
Уже актуально.
I, [2019-09-19T03:25:36.256661 #1]  INFO -- : Загрузка --stdin
I, [2019-09-19T03:25:36.269059 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2019-09-19T03:25:36.322226 #1]  INFO -- : Генерация локалей (это может занять некоторое время)...
Генерация завершена.

I, [2019-09-19T03:25:36.322605 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2019-09-19T03:25:36.328236 #1]  INFO -- :
I, [2019-09-19T03:25:36.328720 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2019-09-19T03:25:36.333983 #1]  INFO -- :
I, [2019-09-19T03:25:36.334293 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2019-09-19T03:25:36.337836 #1]  INFO -- :
I, [2019-09-19T03:25:36.338129 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2019-09-19T03:25:36.343137 #1]  INFO -- :
I, [2019-09-19T03:25:36.343429 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2019-09-19T03:25:36.347597 #1]  INFO -- :
I, [2019-09-19T03:25:36.347819 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1
2019/09/19 03:25:36 socat[28] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Нет такого файла или каталога
I, [2019-09-19T03:25:36.354672 #1]  INFO -- :
I, [2019-09-19T03:25:36.355006 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2019-09-19T03:25:36.359801 #1]  INFO -- :
I, [2019-09-19T03:25:36.360028 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2019-09-19T03:25:36.365218 #1]  INFO -- :
I, [2019-09-19T03:25:36.365462 #1]  INFO -- : > mkdir -p /shared/postgres_run/10-main.pg_stat_tmp
I, [2019-09-19T03:25:36.370636 #1]  INFO -- :
I, [2019-09-19T03:25:36.370987 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/10-main.pg_stat_tmp
I, [2019-09-19T03:25:36.375238 #1]  INFO -- :
I, [2019-09-19T03:25:36.384014 #1]  INFO -- : Файл > /etc/service/postgres/run  chmod: +x  chown:
I, [2019-09-19T03:25:36.391893 #1]  INFO -- : Файл > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2019-09-19T03:25:36.399904 #1]  INFO -- : Файл > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2019-09-19T03:25:36.409011 #1]  INFO -- : Файл > /root/upgrade_postgres  chmod: +x  chown:
I, [2019-09-19T03:25:36.409331 #1]  INFO -- : > chown -R root /var/lib/postgresql/10/main
I, [2019-09-19T03:25:39.272591 #1]  INFO -- :
I, [2019-09-19T03:25:39.272827 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/10/bin/initdb -D /shared/postgres_data || exit 0
I, [2019-09-19T03:25:39.276677 #1]  INFO -- :
I, [2019-09-19T03:25:39.276825 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2019-09-19T03:25:39.300652 #1]  INFO -- :
I, [2019-09-19T03:25:39.300913 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2019-09-19T03:25:39.305131 #1]  INFO -- :
I, [2019-09-19T03:25:39.305468 #1]  INFO -- : > /root/upgrade_postgres
I, [2019-09-19T03:25:39.315038 #1]  INFO -- :
I, [2019-09-19T03:25:39.315197 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2019-09-19T03:25:39.318486 #1]  INFO -- :
I, [2019-09-19T03:25:39.318940 #1]  INFO -- : Замена data_directory = '/var/lib/postgresql/10/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.320086 #1]  INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.322462 #1]  INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.324514 #1]  INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.325648 #1]  INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.326845 #1]  INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.328375 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2019-09-19T03:25:39.334429 #1]  INFO -- :
I, [2019-09-19T03:25:39.334939 #1]  INFO -- : Замена (?-mix:#?max_wal_senders *=.*) на max_wal_senders = $db_max_wal_senders в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.335686 #1]  INFO -- : Замена (?-mix:#?wal_level *=.*) на wal_level = $db_wal_level в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.338130 #1]  INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.341035 #1]  INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.342254 #1]  INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/10/main/postgresql.conf
I, [2019-09-19T03:25:39.343427 #1]  INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres peer в /etc/postgresql/10/main/pg_hba.conf
I, [2019-09-19T03:25:39.343950 #1]  INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/10/main/pg_hba.conf
I, [2019-09-19T03:25:39.345666 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main
I, [2019-09-19T03:25:39.348666 #1]  INFO -- : > sleep 5
2019-09-19 03:25:39.378 UTC [51] LOG:  прослушивание IPv4-адреса "0.0.0.0", порт 5432
2019-09-19 03:25:39.378 UTC [51] LOG:  прослушивание IPv6-адреса "::", порт 5432
2019-09-19 03:25:39.384 UTC [51] LOG:  прослушивание Unix-сокета "/var/run/postgresql/.s.PGSQL.5432"
2019-09-19 03:25:39.493 UTC [54] LOG:  система баз данных была остановлена в режиме восстановления в 2019-09-19 03:23:55 UTC
2019-09-19 03:25:39.493 UTC [54] LOG:  система баз данных была остановлена некорректно; выполняется автоматическое восстановление
2019-09-19 03:25:39.509 UTC [54] LOG:  начало повторения с 1003/5E792F0
I, [2019-09-19T03:25:44.352528 #1]  INFO -- :
I, [2019-09-19T03:25:44.352957 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2019-09-19 03:25:44.438 UTC [58] postgres@postgres FATAL:  система баз данных запускается
2019-09-19 03:25:44.439 UTC [59] postgres@template1 FATAL:  система баз данных запускается
createdb: не удалось подключиться к базе данных template1: FATAL:  система баз данных запускается
I, [2019-09-19T03:25:44.442572 #1]  INFO -- :
I, [2019-09-19T03:25:44.443122 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2019-09-19 03:25:44.525 UTC [70] postgres@discourse FATAL:  система баз данных запускается
psql: FATAL:  система баз данных запускается
I, [2019-09-19T03:25:44.527564 #1]  INFO -- :
I, [2019-09-19T03:25:44.527978 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
2019-09-19 03:25:44.617 UTC [81] postgres@discourse FATAL:  система баз данных запускается
psql: FATAL:  система баз данных запускается
I, [2019-09-19T03:25:44.619389 #1]  INFO -- :
I, [2019-09-19T03:25:44.619732 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
2019-09-19 03:25:44.699 UTC [92] postgres@discourse FATAL:  система баз данных запускается
psql: FATAL:  система баз данных запускается
I, [2019-09-19T03:25:44.701755 #1]  INFO -- :
I, [2019-09-19T03:25:44.702510 #1]  INFO -- : Завершение асинхронных процессов
I, [2019-09-19T03:25:44.702584 #1]  INFO -- : Отправка сигнала INT процессу HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 51
2019-09-19 03:25:44.702 UTC [51] LOG:  получен запрос на быстрое завершение работы
2019-09-19 03:25:44.745 UTC [95] LOG:  завершение работы
2019-09-19 03:25:44.926 UTC [51] LOG:  система баз данных остановлена


ОШИБКА
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' завершился с ошибкой, код возврата #<Process::Status: pid 82 exit 2>
Место ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'
Ошибка выполнения с параметрами "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
e3c609d02d8197f6efd84dd0ecf99456ed566b02fd3a09d87e286696496e56c8
** НЕ УДАЛОСЬ ЗАПУСТИТЬСЯ ** пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.
> 

Эта ошибка возникла после последнего обновления

  • Я уже удалил неофициальные плагины
  • Есть много свободного места (более 600 ГБ)
  • Файл подкачки 2 ГБ

Возникла проблема с вашей базой данных

 2019-09-19 03:25:39.493 UTC [54] LOG: система баз данных была завершена некорректно; выполняется автоматическое восстановление

Возможно, если вы

. /launcher start app

и просто подождёте некоторое время, восстановление завершится, и тогда вы сможете выполнить пересборку.

Спасибо за быстрый ответ, но ошибки всё ещё есть:

После ./launcher start app

WARNING: Мы собираемся начать загрузку базового образа Discourse
Этот процесс может занять от нескольких минут до часа в зависимости от скорости вашей сети

Пожалуйста, подождите

Unable to find image 'discourse/base:2.0.20190906-0522' locally
2.0.20190906-0522: Pulling from discourse/base
1ab2bdfe9778: Pulling fs layer
a313ca07f056: Pulling fs layer
1ab2bdfe9778: Download complete
1ab2bdfe9778: Pull complete
a313ca07f056: Verifying Checksum
a313ca07f056: Download complete
a313ca07f056: Pull complete
Digest: sha256:8c58bd323c80b464b2634d2aa8c322772d0c7bff3e08eff06cf2b66d37fe623d
Status: Downloaded newer image for discourse/base:2.0.20190906-0522

Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.

Кажется, у вас не работает контейнер.

Если у вас есть резервная копия, простое решение — удалить директорию postgres_data, пересобрать систему и восстановить резервную копию. Если резервной копии нет, вы можете попробовать [преобразовать в двухконтейнерную неразрушаемую конфигурацию] (Move from standalone container to separate web and data containers).

Не уверен, что в этих инструкциях чётко объясняется, как перенести существующие данные в новый контейнер.

За 500 долларов я исправлю проблему или верну деньги (хотя есть существенный риск, что я потрачу время впустую и верну вам деньги). Мои контактные данные указаны в моём профиле.