Hi! Each time I launch /launcher rebuild app I get the following message (even if I launch it again) :
UPGRADE OF POSTGRES COMPLETE
Old 9.5 database is stored at /shared/postgres_data_old
To complete the upgrade, rebuild again using:
./launcher rebuild app
What information do you need to help me?
PS: The first time I ran it, the command stoped because I needed more space
Temporarily, I used the templates/postgres.9.5.template.yml template to avoid downtime. The app is running again, but I’d like to finish the update.
When I do a cleanup I get the following message : Old PostgreSQL backup data cluster detected taking up 1.2G detected. Would you like to remove it? (Y/n):
У меня уже несколько месяцев одна и та же проблема, и я не могу обновить свою установку.
Процесс зацикливается и никогда не завершается успешно. Одна из проблем при выполнении rebuild app заключается в следующем: mv: не удалось переместить '/shared/postgres_data' в '/shared/postgres_data_old': Устройство или ресурс занят
При входе в Docker-контейнер версия PostgreSQL, которую я использую, следующая:
FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres завершился с ошибкой #<Process::Status: pid 47 exit 1>
Место возникновения ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'
Выполнение команды не удалось с параметрами "/root/upgrade_postgres"
0c74c9de4d4315b63c0ef9055631f38c0cf4b3dd0be6500fd83ca0a5b13e0d9d
** НЕ УДАЛОСЬ ЗАПУСТИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
Похоже, что проблема в скрипте /pups/lib/pups/exec_command.rb при выполнении spawn.
Тем не менее я могу запустить приложение:
./launcher start app
Вот файлы, которые у меня есть в /shared:
total 48
drwxr-xr-x 12 root root 4096 Jan 12 13:12 .
drwxr-xr-x 57 root root 4096 Dec 15 09:09 ..
drwxr-xr-x 3 discourse www-data 4096 Aug 20 2019 backups
drwxr-xr-x 4 root root 4096 Aug 19 2019 log
drwxr-xr-x 2 postgres postgres 4096 Aug 19 2019 postgres_backup
drwx------ 20 postgres postgres 4096 Jan 12 13:14 postgres_data
drwx------ 19 postgres postgres 4096 Jan 12 13:12 postgres_data_new
drwxrwxr-x 5 postgres postgres 4096 Jan 12 13:14 postgres_run
drwxr-xr-x 2 redis redis 4096 Jan 12 13:07 redis_data
drwxr-xr-x 4 root root 4096 Aug 19 2019 state
drwxr-xr-x 4 discourse www-data 4096 Jan 12 13:14 tmp
drwxr-xr-x 4 discourse www-data 4096 Sep 8 2019 uploads
Две команды mv в файле templates/postgres.template.yml не проверяются на корректность. Скрипт всегда выводит сообщение UPGRADE OF POSTGRES COMPLETE, что неверно, если перемещение завершилось с ошибкой.
Я удалил эти команды, затем вручную переместил директории после входа в Docker, и следующая команда rebuild app работает как раньше! Я так счастлив
Спасибо.
Я столкнулся с этой проблемой при последнем обновлении с PostgreSQL 13 до 15.
В нашей среде развёртывания каталог /shared/postgres_data монтируется на более быстрое NVMe-устройство хранения, поэтому попытка его перемещения завершилась ошибкой «Устройство или ресурс занят».
Мы исправили это, применив патч к шаблону postgres следующим образом: