Я давно не обновлял свой Discourse, но наконец-то взялся за это. Сначала попробовал через веб-приложение, но возникла ошибка. Затем зашёл на сервер и попытался пересобрать контейнер, но столкнулся с несколькими проблемами нехватки места.
Я расширил свою виртуальную машину и попытался снова пересобрать приложение, но теперь получаю ошибки и не могу запустить контейнер.
Как и было рекомендовано, я запустил discourse-doctor, и вот что, похоже, является основной ошибкой:
2022-10-12 12:12:37.418 UTC [1669] LOG: база данных была выключена в 2022-10-12 12:09:46 UTC
2022-10-12 12:12:37.452 UTC [1666] LOG: система базы данных готова принимать подключения
I, [2022-10-12T12:12:42.229967 #1] INFO -- :
I, [2022-10-12T12:12:42.230254 #1] INFO -- : > su postgres -c 'createdb discourse' || true
Ошибка: версия PostgreSQL 13 не установлена
I, [2022-10-12T12:12:42.270949 #1] INFO -- :
I, [2022-10-12T12:12:42.271177 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: такой файл или каталог не существует
Запущен ли сервер локально и принимает ли он подключения через этот сокет?
I, [2022-10-12T12:12:42.323520 #1] INFO -- :
I, [2022-10-12T12:12:42.323738 #1] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: такой файл или каталог не существует
Запущен ли сервер локально и принимает ли он подключения через этот сокет?
I, [2022-10-12T12:12:42.375939 #1] INFO -- :
I, [2022-10-12T12:12:42.376152 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: такой файл или каталог не существует
Запущен ли сервер локально и принимает ли он подключения через этот сокет?
I, [2022-10-12T12:12:42.429960 #1] INFO -- :
I, [2022-10-12T12:12:42.430282 #1] INFO -- : Прерывание асинхронных процессов
I, [2022-10-12T12:12:42.430313 #1] INFO -- : Отправка INT для HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgr es:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 1666
2022-10-12 12:12:42.430 UTC [1666] LOG: получен запрос быстрого завершения работы
2022-10-12 12:12:42.445 UTC [1666] LOG: прерывание всех активных транзакций
2022-10-12 12:12:42.446 UTC [1666] LOG: рабочий процесс: запуск логической репликации (PID 1675) завершился с кодом выхода 1
2022-10-12 12:12:42.447 UTC [1670] LOG: завершение работы
2022-10-12 12:12:42.562 UTC [1666] LOG: система базы данных завершена
ОШИБКА
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' завершилась с ошибкой #<Process::Status: pid 1699 exit 2>
Место возникновения ошибки: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
Выполнение не удалось с параметрами "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
Инициализация не удалась с кодом выхода 2
** НЕ УДАЛОСЬ ЗАПУСТИТЬ ИНИЦИАЛИЗАЦИЮ ** Пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках; их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
4f664b8bc922e1b17fb754c66f5f729d1a78d609d10fe228677248e3cace99bb
==================== КОНЕЦ ЖУРНАЛА ПЕРЕСБОРКИ ====================
Не удалось пересобрать приложение.
Есть ли какие-либо советы, как снова всё запустить?
Хорошо, я запустил восстановление, всё шло нормально, но потом меня разлогинило.
Есть ли способ отследить, завершено ли восстановление? На сайте появляется много ошибок (невозможно войти через SSO), и я не хочу ничего делать, пока процесс не закончится.