Проблема с обновлением postgres

Я пытаюсь помочь человеку, который отказался обновиться до PG13 и теперь у него истёк сертификат SSL.

Это может усложниться из-за Apt-get update fails inside container yarn repo not signed - #5 by pfaffman, но я изменил шаблоны pg12 и pg13, чтобы они должны были работать, однако мне не удаётся выполнить обновление, и я также не могу пересобрать систему с шаблоном pg12.

Вот что происходит, когда я пытаюсь выполнить обновление:

                                     
исправление прав доступа в существующей директории /var/lib/postgresql/12/main ... ok          
создание поддиректорий ... ok
выбор реализации динамической разделяемой памяти ... posix
выбор значения max_connections по умолчанию ... 100                                                                                                              
выбор значения shared_buffers по умолчанию ... 128МБ
выбор часового пояса по умолчанию ... Etc/UTC                              
создание файлов конфигурации ... ok
выполнение скрипта инициализации ... ok
выполнение пост-инициализации ... ok
синхронизация данных с диском ... ok
                                     
Успешно. Теперь вы можете запустить сервер базы данных с помощью:
                                                                                                                                                       
    pg_ctlcluster 12 main start                                                                                                                        
                                                                           
update-alternatives: предупреждение: принудительная повторная установка альтернативы /usr/share/postgresql/13/man/man1/postmaster.1.gz, так как группа ссылок postmaster.1.gz повреждена                                                                                                                                            
invoke-rc.d: не удалось определить текущий уровень выполнения
invoke-rc.d: политика policy-rc.d запретила выполнение команды start.             
Обработка триггеров для postgresql-common (246.pgdg110+1) ...
Создание словарей PostgreSQL из установленных пакетов myspell/hunspell...
Удаление устаревших файлов словарей:                                                                                                                    
Остановка сервера базы данных PostgreSQL 12: main.                                                                                                          
Остановка сервера базы данных PostgreSQL 13: main.                                                                                                          
Выполнение проверок согласованности               -----------------------------                                                                                                                          
Проверка версий кластеров                                   ok                                                                                         
Проверка пользователя базы данных как пользователя установки                  ok                                                                                         
Проверка настроек подключения к базе данных                       ok                                                                                         
Проверка подготовленных транзакций                          ok                                                                                         
Проверка системно определённых составных типов в пользовательских таблицах  ok                                                                                         
Проверка типов данных reg* в пользовательских таблицах                 ok                                                                                         
Проверка contrib/isn с несовпадением bigint-passing       ok                                                                                         
Создание дампа глобальных объектов                             ok                                                                                         
Создание дампа схем баз данных                                                                                                                      
  discourse                                                                                                                                            
                                                                                                                                                       
*ошибка*                                                                                                                                              

Обратитесь к последним нескольким строкам файла "pg_upgrade_dump_16566.log" для
выявления вероятной причины сбоя.
Ошибка, завершение работы
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES НЕ УДАЛОСЬ

Пожалуйста, посетите https://meta.discourse.org/t/postgresql-13-update/172563 для получения поддержки.

Тем временем вы можете запустить ./launcher start app для перезапуска вашего приложения

При попытке пересобрать систему без обновления во время миграции базы данных возникают такие ошибки:

PG::InsufficientPrivilege: ОШИБКА: отказано в разрешении на создание расширения "unaccent"                                                                    

Похоже, мне придётся вернуться к чистой установке и последней резервной копии, которая уже несколько дней как устарела.

Неужели нельзя добавить ниже в hooks для создания расширения unaccent, если его нет?

after_postgres:
    - exec: su postgres -c 'psql discourse -c "create extension if not exists unaccent;"'

Звучит как план! Я проверю это утром. Спасибо

Похоже, это сработало! Мне пришлось добавить это в pg12 и postgres.

В общем, этого хватило, чтобы снова запустить систему с PG12, но обновление до PG13 так и не удалось выполнить. Я создал резервную копию, переместил файлы postgres в резервную директорию, собрал систему заново и восстановил из резервной копии.