Проблемы с запуском RDS — не удалось открыть файл сертификата

У меня стандартная установка с базой данных на RDS. Она была на версии 13.2, и я только что обновил её до 15.2. Существующий контейнер работает отлично.

При создании нового образа происходит миграция базы данных, прекомпиляция ассетов

а затем

                                                                                                                                                                            
I, [2023-12-20T20:16:12.865112 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets                                              
Имя плагина 'discourse-linkedin-auth', но директория плагина названа 'discourse-plugin-linkedin-auth'                                                                     
Имя плагина 'stemaway-experience-bbcodes', но директория плагина названа 'experience-bbcodes'                                                                             
Имя плагина 'discourse-badge-search', но директория плагина названа 'stemaway-badge-search'                                                                               
Имя плагина 'points-plugin', но директория плагина названа 'tacks-plugin'                                                                                                 
Имя плагина 'discourse-group-assign-by-custom-field', но директория плагина названа 'ucf-group-assignment'                                                                
rake aborted!                                                                                                                                                                
ActiveRecord::NoDatabaseError: Не удалось найти вашу базу данных: discourse. Она должна быть указана в файле конфигурации базы данных, расположенном в config/database.yml. (ActiveRecord::NoDatabaseError)                                                                                                                                                          
                           

а позже появляются сообщения вроде:

Caused by:                                                                                                                                                                   
PG::ConnectionBad: соединение с сервером "172.31.x.y", порт 5432 не удалось: не удалось открыть файл сертификата "/root/.postgresql/postgresql.crt": Permission denied (PG::ConnectionBad)                                                                                                                                                                     
соединение с сервером "172.31.x.y", порт 5432 не удалось: FATAL:  нет записи в pg_hba.conf для хоста "172.31.x.y", пользователя "postgres", базы данных "discourse", шифрование отсутствует   
...
Pups::ExecError: команда cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets завершилась с ошибкой, код возврата #<Process::Status: pid 7133 exit 1>                      

Мне кажется странным (для меня), что миграция и прекомпиляция проходят успешно, а загрузка ассетов — нет.
Если зайти в контейнер во время его сборки, то подключиться к PostgreSQL можно, используя учётные данные из переменных окружения (ENV).

Я постараюсь получить полный лог из tmux… хотя буфер был слишком мал и не поместится здесь. Попробую увеличить размер буфера, запустить ещё одну сборку и выложить полный лог куда-нибудь.

Оказывается, вам нужно:

env:
  PGSSLCERT: /tmp/postgresql.crt

Не знаю, откуда я это узнал, но это указано в yml-файле для staging-сайта, но не для production-версии. Всё работало нормально до недавнего времени. Это странно, потому что миграция базы данных прошла успешно, и ошибка возникла только когда началось предварительное компилирование ассетов.