При попытке выполнить пересборку для обновления до последней версии, прошедшей тесты, я получаю следующую ошибку. Это включает обновление версии PostgreSQL с 13 до 15.
[2025-03-12T20:49:22.045226 #1] INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres peer в файле /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045431 #1] INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в файле /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045624 #1] INFO -- : Замена (?-mix:^host.*all.*all.*::1\/128.*$) на host all all ::/0 md5 в файле /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045816 #1] INFO -- : > 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
initdb: предупреждение: включена аутентификация «trust» для локальных подключений
initdb: подсказка: вы можете изменить это, отредактировав pg_hba.conf или используя опцию -A, или --auth-local и --auth-host при следующем запуске initdb.
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: ключ хранится в устаревшем наборе ключей trusted.gpg (/etc/apt/trusted.gpg), см. раздел DEPRECATION в apt-key(8) для деталей.
debconf: отложено конфигурирование пакетов, так как apt-utils не установлен
cp: не удаётся получить информацию о '/etc/postgresql/13/main/*': файл или каталог не найден
Скрипт просто застревает на этой команде копирования.
Когда я пытаюсь перезапустить форум, команда перезапуска завершается успешно, но форум показывает «отказ в подключении».
Как мне либо откатиться к использованию моей резервной копии в PostgreSQL 13, либо продолжить? Спасибо.
Перезапуск контейнера не удалось выполнить, так как он находился в промежуточном состоянии между версиями базы данных. Я удалил папку postgres_data и теперь восстанавливаю данные из резервной копии.
Если вы действительно работаете под управлением более старой ОС и версии Docker, рекомендуется обновить обе системы перед повторной попыткой пересборки.
Возможно, вы обновляли большую базу данных? Если да, то возможно, что обновление всё ещё выполнялось. Во время пересборки вы можете периодически сравнивать размеры директорий postgres_data и postgres_data_new. Если размер postgres_data_new продолжает расти, значит обновление ещё идёт. (Вы также можете проверить, выполняется ли команда pg_upgrade, посмотрев список процессов.)
На эту ошибку cp пока можно не обращать внимания. Мне удалось обновить тестовый сайт со стандартной установкой, несмотря на ту же ошибку. (Она была вызвана изменением в upstream-репозитории, поэтому мы исправим образ, чтобы убрать эту ошибку, но она не должна нарушить процесс обновления базы данных, если конфигурации postgres не были существенно изменены заранее.)
Да, мне удалось восстановить сайт. Мы действительно обновляли большую базу данных, но я следил за указанными выше директориями, чтобы убедиться, что папка postgres_data_new увеличивается в размере. Через некоторое время она перестала расти, и скрипт просто застрял на этой команде.
Наша конфигурация была вполне стандартной, за исключением большого размера базы данных. Я соберу все детали и опубликую их позже сегодня.