Я заметил, что @anon55243134 удалил почти все свои сообщения. Действительно, здесь есть важные уроки для команды и для поддержания скриптов обновлений и коммуникации вокруг процесса обновления.
@anon55243134 — это человек, который уже несколько лет управляет собственным хостингом Discourse, и теперь у него повреждена и неработоспособна установка — просто потому что он следовал подсказкам для обновления.
Если бы это случилось со мной, я был бы очень разозлен и расстроен из-за возможной потери содержимого форума. Выбрав самостоятельный хостинг, я мог бы не быть готовым или не иметь возможности заплатить большие деньги за исправление, если это вообще возможно.
Я считаю, что предупреждений и проверок недостаточно:
- проверил ли пользователь наличие свежей резервной копии (не снимка хостинг-сервиса!)
- загрузил ли пользователь файлы
- сообщается ли пользователю, что обновление через веб-интерфейс может завершиться неудачей и потребовать обновления через командную строку
- спрашивается ли у пользователя, не слишком ли старая его операционная система
- сообщается ли пользователю, что миграция на новый актуальный сервер может оказаться лучшим решением
- предупреждается ли пользователь, что крупные обновления (например, обновление базы данных) могут быть рискованными, и если пользователь неопытен, лучше подождать неделю, чтобы проблемы были обнаружены и исправлены
Ещё более тревожно то, что в одном из удалённых сообщений я вижу довольно серьёзные сбои, которые не были перехвачены, и скрипт продолжил выполнение:
cat: /shared/postgres_data/PG_VERSION: No such file or directory
...
E: Unable to locate package postgresql--pgvector
cp: cannot stat '/etc/postgresql//main/*': No such file or directory
sh: 1: /usr/lib/postgresql/bin/postgres: not found
...
Finding the real data directory for the source cluster
could not get data directory using "/usr/lib/postgresql/bin/postgres" -D "/shared/postgres_data" -C data_directory: No such file or directory
Failure, exiting
Я не проверял скрипты, но отсутствие файлов должно служить сигналом надвигающихся проблем, и в такой момент нужно остановиться.