В цикле:
Для завершения обновления выполните сборку повторно, используя: ./launcher rebuild app
Должно быть, я что-то упускаю. Полный лог ниже. Буду признателен за любую помощь.
root@discuss:/var/discourse# ./launcher rebuild app
Проверка актуальности launcher
Получение origin
Launcher актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Уже актуально.
I, [2020-05-26T20:43:00.459915 #1] INFO -- : Загрузка --stdin
I, [2020-05-26T20:43:00.466076 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2020-05-26T20:43:00.497010 #1] INFO -- : Генерация локалей (это может занять время)...
Генерация завершена.
I, [2020-05-26T20:43:00.497661 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2020-05-26T20:43:00.500629 #1] INFO -- :
I, [2020-05-26T20:43:00.501124 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-05-26T20:43:00.503417 #1] INFO -- :
I, [2020-05-26T20:43:00.503867 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2020-05-26T20:43:00.505796 #1] INFO -- :
I, [2020-05-26T20:43:00.506199 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2020-05-26T20:43:00.508341 #1] INFO -- :
I, [2020-05-26T20:43:00.508752 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-05-26T20:43:00.510785 #1] INFO -- :
I, [2020-05-26T20:43:00.511166 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1
2020/05/26 20:43:00 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Нет такого файла или каталога
I, [2020-05-26T20:43:00.515245 #1] INFO -- :
I, [2020-05-26T20:43:00.515542 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-05-26T20:43:00.518166 #1] INFO -- :
I, [2020-05-26T20:43:00.518509 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-05-26T20:43:00.520876 #1] INFO -- :
I, [2020-05-26T20:43:00.521215 #1] INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-05-26T20:43:00.523438 #1] INFO -- :
I, [2020-05-26T20:43:00.523931 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-05-26T20:43:00.526034 #1] INFO -- :
I, [2020-05-26T20:43:00.530519 #1] INFO -- : Файл > /etc/service/postgres/run chmod: +x chown:
I, [2020-05-26T20:43:00.534602 #1] INFO -- : Файл > /etc/service/postgres/log/run chmod: +x chown:
I, [2020-05-26T20:43:00.538528 #1] INFO -- : Файл > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-05-26T20:43:00.542481 #1] INFO -- : Файл > /root/upgrade_postgres chmod: +x chown:
I, [2020-05-26T20:43:00.542896 #1] INFO -- : > chown -R root /var/lib/postgresql/12/main
I, [2020-05-26T20:43:00.638174 #1] INFO -- :
I, [2020-05-26T20:43:00.638520 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-05-26T20:43:00.640938 #1] INFO -- :
I, [2020-05-26T20:43:00.641292 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-05-26T20:43:00.672801 #1] INFO -- :
I, [2020-05-26T20:43:00.673456 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-05-26T20:43:00.676098 #1] INFO -- :
I, [2020-05-26T20:43:00.676587 #1] INFO -- : > /root/upgrade_postgres
initdb: предупреждение: включена аутентификация «trust» для локальных подключений
Вы можете изменить это, отредактировав pg_hba.conf или используя опцию -A, или
--auth-local и --auth-host при следующем запуске initdb.
debconf: откладывание конфигурации пакета, так как apt-utils не установлен
mv: не удалось переместить «/shared/postgres_data» в «/shared/postgres_data_old/postgres_data»: Каталог не пуст
mv: не удалось переместить «/shared/postgres_data_new» в «/shared/postgres_data/postgres_data_new»: Каталог не пуст
I, [2020-05-26T20:43:15.530374 #1] INFO -- : Обновление PostgreSQL с версии 10 до 12
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю «postgres».
Этот пользователь также должен владеть процессом сервера.
Кластер баз данных будет инициализирован с локалью «en_US.UTF-8».
Кодировка базы данных по умолчанию соответственно установлена в «UTF8».
Конфигурация поиска текста по умолчанию будет установлена в «english».
Контрольные суммы страниц данных отключены.
Исправление прав доступа в существующем каталоге /shared/postgres_data_new ... ok
Создание подкаталогов ... ok
Выбор реализации динамической разделяемой памяти ... posix
Выбор максимального числа соединений по умолчанию ... 100
Выбор размера разделяемых буферов по умолчанию ... 128МБ
Выбор часового пояса по умолчанию ... Etc/UTC
Создание файлов конфигурации ... ok
Запуск скрипта инициализации ... ok
Выполнение пост-инициализации ... ok
Синхронизация данных с диском ... ok
Успешно. Теперь вы можете запустить сервер базы данных, используя:
/usr/lib/postgresql/12/bin/pg_ctl -D /shared/postgres_data_new -l logfile start
Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://security.debian.org/debian-security buster/updates InRelease [65,4 КБ]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49,3 КБ]
Get:4 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,6 КБ]
Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [201 КБ]
Hit:6 https://deb.nodesource.com/node_10.x buster InRelease
Get:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [171 КБ]
Получено 571 КБ за 1 с (810 КБ/с)
Чтение списков пакетов...
Чтение списков пакетов...
Построение дерева зависимостей...
Чтение информации о состоянии...
Будут установлены следующие дополнительные пакеты:
postgresql-client-10
Рекомендуемые пакеты:
postgresql-doc-10
Будут установлены следующие НОВЫЕ пакеты:
postgresql-10 postgresql-client-10
0 обновлено, 2 новых установлено, 0 для удаления и 9 не обновлено.
Необходимо получить 6 390 КБ архивов.
После этой операции будет использовано дополнительно 30,6 МБ дискового пространства.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.13-1.pgdg100+1 [1 428 КБ]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.13-1.pgdg100+1 [4 961 КБ]
Получено 6 390 КБ за 2 с (4 017 КБ/с)
Выбор ранее не выбранного пакета postgresql-client-10.
(Чтение базы данных ... на данный момент установлено 43929 файлов и каталогов.)
Подготовка к распаковке .../postgresql-client-10_10.13-1.pgdg100+1_amd64.deb ...
Распаковка postgresql-client-10 (10.13-1.pgdg100+1) ...
Выбор ранее не выбранного пакета postgresql-10.
Подготовка к распаковке .../postgresql-10_10.13-1.pgdg100+1_amd64.deb ...
Распаковка postgresql-10 (10.13-1.pgdg100+1) ...
Настройка postgresql-client-10 (10.13-1.pgdg100+1) ...
update-alternatives: предупреждение: принудительная повторная установка альтернативы /usr/share/postgresql/12/man/man1/psql.1.gz, так как группа ссылок psql.1.gz повреждена
Настройка postgresql-10 (10.13-1.pgdg100+1) ...
Создание нового кластера PostgreSQL 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю «postgres».
Этот пользователь также должен владеть процессом сервера.
Кластер баз данных будет инициализирован с локалью «C.UTF-8».
Кодировка базы данных по умолчанию соответственно установлена в «UTF8».
Конфигурация поиска текста по умолчанию будет установлена в «english».
Контрольные суммы страниц данных отключены.
Исправление прав доступа в существующем каталоге /var/lib/postgresql/10/main ... ok
Создание подкаталогов ... ok
Выбор максимального числа соединений по умолчанию ... 100
Выбор размера разделяемых буферов по умолчанию ... 128МБ
Выбор часового пояса по умолчанию ... Etc/UTC
Выбор реализации динамической разделяемой памяти ... posix
Создание файлов конфигурации ... ok
Запуск скрипта инициализации ... ok
Выполнение пост-инициализации ... ok
Синхронизация данных с диском ... ok
Успешно. Теперь вы можете запустить сервер базы данных, используя:
pg_ctlcluster 10 main start
Предупреждение: выбранный каталог stats_temp_directory /var/run/postgresql/10-main.pg_stat_tmp
не доступен для записи владельцем кластера. Это значение не будет добавлено в
postgresql.conf.
Ver Cluster Port Status Owner Data directory Log file
10 main 5433 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: предупреждение: принудительная повторная установка альтернативы /usr/share/postgresql/12/man/man1/postmaster.1.gz, так как группа ссылок postmaster.1.gz повреждена
invoke-rc.d: не удалось определить текущий уровень выполнения
invoke-rc.d: политика policy-rc.d запретила выполнение запуска.
Обработка триггеров для postgresql-common (213.pgdg100+1) ...
Построение словарей PostgreSQL из установленных пакетов myspell/hunspell...
Удаление устаревших файлов словарей:
Остановка сервера базы данных PostgreSQL 10: main.
Остановка сервера базы данных PostgreSQL 12: main.
Выполнение проверок согласованности
-----------------------------
Проверка версий кластеров ok
Проверка пользователя базы данных как пользователя установки ok
Проверка настроек подключения к базе данных ok
Проверка подготовленных транзакций ok
Проверка типов данных reg* в пользовательских таблицах ok
Проверка contrib/isn с несоответствием передачи bigint ok
Проверка таблиц WITH OIDS ok
Проверка некорректных пользовательских колонок «sql_identifier» ok
Создание дамп глобальных объектов ok
Создание дамп схем баз данных
discourse
postgres
template1
ok
Проверка наличия необходимых библиотек ok
Проверка пользователя базы данных как пользователя установки ok
Проверка подготовленных транзакций ok
Если pg_upgrade завершится с ошибкой после этой точки, вы должны повторно инициализировать
новый кластер перед продолжением.
Выполнение обновления
------------------
Анализ всех строк в новом кластере ok
Замораживание всех строк в новом кластере ok
Удаление файлов из нового pg_xact ok
Копирование старого pg_xact на новый сервер ok
Установка следующего ID транзакции и эпохи для нового кластера ok
Удаление файлов из нового pg_multixact/offsets ok
Копирование старого pg_multixact/offsets на новый сервер ok
Удаление файлов из нового pg_multixact/members ok
Копирование старого pg_multixact/members на новый сервер ok
Установка следующего multixact ID и смещения для нового кластера ok
Сброс архивов WAL ok
Установка счетчиков frozenxid и minmxid в новом кластере ok
Восстановление глобальных объектов в новом кластере ok
Восстановление схем баз данных в новом кластере
template1
discourse
postgres
ok
Копирование файлов пользовательских отношений
/shared/postgres_data/base/16400/2613
/shared/postgres_data/base/16400/2683
/shared/postgres_data/base/16400/16728
/shared/postgres_data/base/16400/16728_fsm
/shared/postgres_data/base/16400/16728_vm
/shared/postgres_data/base/16400/16731
/shared/postgres_data/base/16400/84163
/shared/postgres_data/base/16400/84163_fsm
/shared/postgres_data/base/16400/84163_vm
……
ok
Установка следующего OID для нового кластера ok
Синхронизация каталога данных с диском ok
Создание скрипта для анализа нового кластера ok
Создание скрипта для удаления старого кластера ok
Обновление завершено
----------------
Статистика оптимизатора не переносится pg_upgrade, поэтому,
после запуска нового сервера, рассмотрите возможность выполнения:
./analyze_new_cluster.sh
Запуск этого скрипта удалит файлы данных старого кластера:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES ЗАВЕРШЕНО
Старая база данных 10 сохранена в /shared/postgres_data_old
Для завершения обновления выполните сборку повторно, используя:
./launcher rebuild app
-------------------------------------------------------------------------------------