O fórum trava após atualização da versão 2.4.0

Olá! Hoje atualizei o fórum da maneira habitual (admin > dashboard > upgrade) a partir da versão 2.4.0.
Depois disso, ao voltar para a visualização de atualizações para continuar atualizando o restante dos plugins, esta mensagem apareceu:

Você está executando uma versão antiga da imagem do Discourse.
As atualizações via interface web estão desabilitadas até que você execute a imagem mais recente.

Para fazer isso, faça login no seu servidor usando SSH e execute:

    cd /var/discourse
    git pull
    ./launcher rebuild app

Nada de novo até agora. Abri o terminal, entrei na máquina virtual e segui os passos de sempre, mas agora estou recebendo um erro que nunca tinha visto antes. Aqui estão os logs:

root@foro:/var/discourse# ./launcher rebuild app
Verificando se o launcher está atualizado
Buscando origem
Launcher atualizado
cd /pups && git pull && /pups/bin/pups --stdin
Já está atualizado.
I, [2020-07-03T17:40:38.599175 #1]  INFO -- : Carregando --stdin
I, [2020-07-03T17:40:38.608573 #1]  INFO -- : > apt-get remove -y postgresql-10 postgresql-client-10 postgresql-contrib-10
I, [2020-07-03T17:40:40.109309 #1]  INFO -- : Lendo listas de pacotes...
Construindo árvore de dependências...
Lendo informações de estado...
O pacote 'postgresql-10' não está instalado, portanto não será removido
O pacote 'postgresql-client-10' não está instalado, portanto não será removido
0 atualizados, 0 novos instalados, 0 para remover e 0 não atualizados.

I, [2020-07-03T17:40:40.110000 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
debconf: adiando a configuração do pacote, pois apt-utils não está instalado
I, [2020-07-03T17:40:49.742789 #1]  INFO -- : Get:1 http://security.debian.org/debian-security buster/updates InRelease [65,4 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,6 kB]
Hit:3 http://deb.debian.org/debian buster InRelease
Get:4 http://deb.debian.org/debian buster-updates InRelease [51,9 kB]
Get:5 https://deb.nodesource.com/node_10.x buster InRelease [4.584 B]
Get:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [208 kB]
Get:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [177 kB]
Get:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [3.688 B]
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-04-2016.16.pdiff [1.101 B]
Get:10 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-07-1403.53.pdiff [439 B]
Get:11 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Get:11 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Get:12 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [768 B]
Baixados 599 kB em 1s (686 kB/s)
Lendo listas de pacotes...
Lendo listas de pacotes...
Construindo árvore de dependências...
Lendo informações de estado...
Sugestões de pacotes:
  postgresql-doc-9.5 libdbd-pg-perl
Os seguintes NOVOS pacotes serão instalados:
  postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
0 atualizados, 3 novos instalados, 0 para remover e 13 não atualizados.
É necessário baixar 5.700 kB de arquivos.
Após esta operação, 27,2 MB de espaço adicional em disco serão usados.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-9.5 amd64 9.5.22-1.pgdg100+1 [1.252 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-9.5 amd64 9.5.22-1.pgdg100+1 [3.985 kB]
Get:3 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-contrib-9.5 amd64 9.5.22-1.pgdg100+1 [463 kB]
Baixados 5.700 kB em 0s (27,1 MB/s)
Selecionando pacote previamente não selecionado postgresql-client-9.5.
(Lendo o banco de dados ... 43929 arquivos e diretórios atualmente instalados.)
Preparando para descompactar .../postgresql-client-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Descompactando postgresql-client-9.5 (9.5.22-1.pgdg100+1) ...
Selecionando pacote previamente não selecionado postgresql-9.5.
Preparando para descompactar .../postgresql-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Descompactando postgresql-9.5 (9.5.22-1.pgdg100+1) ...
Selecionando pacote previamente não selecionado postgresql-contrib-9.5.
Preparando para descompactar .../postgresql-contrib-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Descompactando postgresql-contrib-9.5 (9.5.22-1.pgdg100+1) ...
Configurando postgresql-client-9.5 (9.5.22-1.pgdg100+1) ...
update-alternatives: aviso: forçando reinstalação da alternativa /usr/share/postgresql/12/man/man1/psql.1.gz porque o grupo de links psql.1.gz está quebrado
Configurando postgresql-9.5 (9.5.22-1.pgdg100+1) ...
Criando novo cluster PostgreSQL 9.5/main ...
/usr/lib/postgresql/9.5/bin/initdb -D /var/lib/postgresql/9.5/main --auth-local peer --auth-host md5
Os arquivos pertencentes a este sistema de banco de dados serão de propriedade do usuário "postgres".
Este usuário também deve ser o proprietário do processo do servidor.

O cluster de banco de dados será inicializado com a localidade "C.UTF-8".
A codificação padrão do banco de dados foi definida como "UTF8".
A configuração padrão de pesquisa de texto será definida como "inglês".

A soma de verificação de páginas de dados está desabilitada.

corrigindo permissões no diretório existente /var/lib/postgresql/9.5/main ... ok
criando subdiretórios ... ok
selecionando max_connections padrão ... 100
selecionando shared_buffers padrão ... 128MB
selecionando fuso horário padrão ... Etc/UTC
selecionando implementação de memória compartilhada dinâmica ... posix
criando arquivos de configuração ... ok
criando banco de dados template1 em /var/lib/postgresql/9.5/main/base/1 ... ok
inicializando pg_authid ... ok
inicializando dependências ... ok
criando visões do sistema ... ok
carregando descrições de objetos do sistema ... ok
criando colações ... ok
criando conversões ... ok
criando dicionários ... ok
definindo privilégios em objetos integrados ... ok
criando esquema de informações ... ok
carregando linguagem de servidor PL/pgSQL ... ok
vacuum no banco de dados template1 ... ok
copiando template1 para template0 ... ok
copiando template1 para postgres ... ok
sincronizando dados com o disco ... ok

Sucesso. Agora você pode iniciar o servidor de banco de dados usando:

    /usr/lib/postgresql/9.5/bin/pg_ctl -D /var/lib/postgresql/9.5/main -l logfile start

Ver Cluster Port Status Owner    Data directory               Log file
9.5 main    5433 down   postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
update-alternatives: aviso: forçando reinstalação da alternativa /usr/share/postgresql/12/man/man1/postmaster.1.gz porque o grupo de links postmaster.1.gz está quebrado
invoke-rc.d: não foi possível determinar o nível de execução atual
invoke-rc.d: política-rc.d negou a execução de start.
Configurando postgresql-contrib-9.5 (9.5.22-1.pgdg100+1) ...
Processando gatilhos para postgresql-common (213.pgdg100+1) ...
Construindo dicionários PostgreSQL a partir de pacotes myspell/hunspell instalados...
Removendo arquivos de dicionário obsoletos:

I, [2020-07-03T17:40:49.743707 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-03T17:40:49.747572 #1]  INFO -- :
I, [2020-07-03T17:40:49.748032 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-03T17:40:49.750621 #1]  INFO -- :
I, [2020-07-03T17:40:49.751119 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-03T17:40:49.753527 #1]  INFO -- :
I, [2020-07-03T17:40:49.753870 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-03T17:40:49.756586 #1]  INFO -- :
I, [2020-07-03T17:40:49.756966 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-03T17:40:49.759345 #1]  INFO -- :
I, [2020-07-03T17:40:49.759525 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres já está em execução, pare o container ; exit 1
2020/07/03 17:40:49 socat[1570] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
I, [2020-07-03T17:40:49.764619 #1]  INFO -- :
I, [2020-07-03T17:40:49.764790 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-03T17:40:49.768012 #1]  INFO -- :
I, [2020-07-03T17:40:49.768201 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-03T17:40:49.771186 #1]  INFO -- :
I, [2020-07-03T17:40:49.771329 #1]  INFO -- : > mkdir -p /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-07-03T17:40:49.773782 #1]  INFO -- :
I, [2020-07-03T17:40:49.774066 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-07-03T17:40:49.776490 #1]  INFO -- :
I, [2020-07-03T17:40:49.782041 #1]  INFO -- : Arquivo > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-03T17:40:49.788039 #1]  INFO -- : Arquivo > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-03T17:40:49.788568 #1]  INFO -- : > chown -R root /var/lib/postgresql/9.5/main
I, [2020-07-03T17:40:49.799608 #1]  INFO -- :
I, [2020-07-03T17:40:49.799833 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/9.5/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-07-03T17:40:49.802712 #1]  INFO -- :
I, [2020-07-03T17:40:49.802859 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-07-03T17:40:49.823259 #1]  INFO -- :
I, [2020-07-03T17:40:49.823552 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-07-03T17:40:49.827629 #1]  INFO -- :
I, [2020-07-03T17:40:49.828112 #1]  INFO -- : Substituindo data_directory = '/var/lib/postgresql/9.5/main' por data_directory = '/shared/postgres_data' em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.828954 #1]  INFO -- : Substituindo (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.829559 #1]  INFO -- : Substituindo (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.830168 #1]  INFO -- : Substituindo (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.830753 #1]  INFO -- : Substituindo (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.831385 #1]  INFO -- : Substituindo (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.831981 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-07-03T17:40:49.835928 #1]  INFO -- :
I, [2020-07-03T17:40:49.836456 #1]  INFO -- : Substituindo (?-mix:#?max_wal_senders *=.*) por max_wal_senders = $db_max_wal_senders em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.837120 #1]  INFO -- : Substituindo (?-mix:#?wal_level *=.*) por wal_level = $db_wal_level em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.837800 #1]  INFO -- : Substituindo (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.838367 #1]  INFO -- : Substituindo (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.838967 #1]  INFO -- : Substituindo (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement em /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.839599 #1]  INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres  peer em /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-07-03T17:40:49.840164 #1]  INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-07-03T17:40:49.840674 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main
I, [2020-07-03T17:40:49.843014 #1]  INFO -- : > sleep 5
2020-07-03 17:40:49.929 UTC [1589] LOG:  sistema de banco de dados foi desligado em 2020-07-03 17:35:44 UTC
2020-07-03 17:40:49.935 UTC [1589] LOG:  proteções contra wraparound de MultiXact member estão agora habilitadas
2020-07-03 17:40:49.939 UTC [1593] LOG:  lançador do autovacuum iniciado
2020-07-03 17:40:49.939 UTC [1586] LOG:  sistema de banco de dados pronto para aceitar conexões
I, [2020-07-03T17:40:54.846567 #1]  INFO -- :
I, [2020-07-03T17:40:54.847806 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
createdb: erro: não foi possível conectar ao banco de dados template1: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:54.926943 #1]  INFO -- :
I, [2020-07-03T17:40:54.927231 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: erro: não foi possível conectar ao servidor: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:55.015057 #1]  INFO -- :
I, [2020-07-03T17:40:55.015594 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: erro: não foi possível conectar ao servidor: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:55.091507 #1]  INFO -- :
I, [2020-07-03T17:40:55.091839 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: erro: não foi possível conectar ao servidor: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:55.167810 #1]  INFO -- :
I, [2020-07-03T17:40:55.168235 #1]  INFO -- : Encerrando processos assíncronos
I, [2020-07-03T17:40:55.168298 #1]  INFO -- : Enviando INT para HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main pid: 1586
2020-07-03 17:40:55.168 UTC [1586] LOG:  recebida solicitação de desligamento rápido
2020-07-03 17:40:55.168 UTC [1586] LOG:  abortando todas as transações ativas
2020-07-03 17:40:55.170 UTC [1593] LOG:  lançador do autovacuum desligando
2020-07-03 17:40:55.172 UTC [1590] LOG:  desligando
2020-07-03 17:40:55.189 UTC [1590] LOG:  sistema de banco de dados desligado


FALHA
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falhou com retorno #<Process::Status: pid 1618 exit 2>
Localização da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
a10b0d1db8256d70432e08508f453835a4bd7dce8f4ac601b6be1031bb3ce01b
** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
root@foro:/var/discourse#

Depois de tentar todos os truques clássicos (incluindo “desligar e ligar novamente”), estou um pouco perdido aqui. Não entendo por que ele não consegue acessar o banco de dados :frowning:

PostgreSQL 9.5!? Droga, isso é antigo.

Você pode copiar e colar aqui as primeiras linhas do arquivo /var/discourse/containers/app.yml?

Olá! Obrigado por responder!

root@foro:/var/discourse# cat /var/discourse/containers/app.yml
##
## Após fazer alterações neste arquivo, você DEVE reconstruir para que qualquer mudança
## surta efeito na sua instância ao vivo do Discourse:
##
## /var/discourse/launcher rebuild app
##
## Certifique-se de obedecer à sintaxe YAML! Você pode usar este site para ajudar a verificar:
## http://www.yamllint.com/

## este é o modelo de contêiner Docker Discourse tudo-em-um, autônomo

# Você pode adicionar limitação de taxa descomentando o template web.ratelimited.
# Por padrão, ele permite 12 reqs por segundo por IP e 100 por minuto por IP
# Isso é configurável ao alterar os parâmetros neste arquivo

templates:
  # - "templates/postgres.template.yml"
  - "templates/postgres.9.5.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"

 ## Comente as linhas a seguir se desejar adicionar o Lets Encrypt para sua instalação do Discourse
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

Acabei de tentar com “templates/postgres.10.template.yml” (como acabei de ler aqui), mas ainda estou recebendo erros:

Launcher está atualizado
cd /pups && git pull && /pups/bin/pups --stdin
Já está atualizado.
I, [2020-07-03T17:50:57.037855 #1]  INFO -- : Carregando --stdin
I, [2020-07-03T17:50:57.050344 #1]  INFO -- : > DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-12 postgresql-client-12 postgresql-contrib-12
I, [2020-07-03T17:50:59.618428 #1]  INFO -- : Lendo listas de pacotes...
Construindo árvore de dependências...
Lendo informações de estado...
O seguinte pacote foi instalado automaticamente e não é mais necessário:
  libllvm7
Use 'apt autoremove' para removê-lo.
Os seguintes pacotes serão REMOVIDOS:
  postgresql-12* postgresql-client-12*
0 atualizados, 0 novos instalados, 2 a remover e 0 não atualizados.
Após esta operação, 52,8 MB de espaço em disco serão liberados.
(Lendo banco de dados ... 43929 arquivos e diretórios atualmente instalados.)
Removendo postgresql-12 (12.2-2.pgdg100+1) ...
invoke-rc.d: não foi possível determinar o nível de execução atual
invoke-rc.d: política-rc.d negou a execução de stop.
Removendo postgresql-client-12 (12.2-2.pgdg100+1) ...
Processando gatilhos para postgresql-common (213.pgdg100+1) ...
Construindo dicionários PostgreSQL a partir de pacotes myspell/hunspell instalados...
Removendo arquivos de dicionário obsoletos:
(Lendo banco de dados ... 42106 arquivos e diretórios atualmente instalados.)
Limpando arquivos de configuração para postgresql-12 (12.2-2.pgdg100+1) ...
Excluindo cluster main...

I, [2020-07-03T17:50:59.618701 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-10 postgresql-client-10 postgresql-contrib-10
debconf: adiando configuração de pacote, pois apt-utils não está instalado
I, [2020-07-03T17:51:08.574737 #1]  INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://deb.debian.org/debian buster-updates InRelease [51,9 kB]
Get:3 http://security.debian.org/debian-security buster/updates InRelease [65,4 kB]
Get:4 https://deb.nodesource.com/node_10.x buster InRelease [4.584 B]
Get:5 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,6 kB]
Get:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [208 kB]
Get:7 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [3.688 B]
Get:8 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-04-2016.16.pdiff [1.101 B]
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-07-1403.53.pdiff [439 B]
Get:10 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Get:10 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Get:11 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [768 B]
Get:12 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [177 kB]
Baixados 599 kB em 1s (616 kB/s)
Lendo listas de pacotes...
Lendo listas de pacotes...
Construindo árvore de dependências...
Lendo informações de estado...
O seguinte pacote foi instalado automaticamente e não é mais necessário:
  libllvm7
Use 'apt autoremove' para removê-lo.
Sugestões de pacotes:
  postgresql-doc-10
Os seguintes NOVOS pacotes serão instalados:
  postgresql-10 postgresql-client-10
0 atualizados, 2 novos instalados, 0 a remover e 11 não atualizados.
É necessário baixar 6.390 kB de arquivos.
Após esta operação, 30,6 MB de espaço adicional em disco serão usados.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.13-1.pgdg100+1 [1.428 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.13-1.pgdg100+1 [4.961 kB]
Baixados 6.390 kB em 0s (28,3 MB/s)
Selecionando pacote previamente não selecionado postgresql-client-10.
(Lendo banco de dados ... 42106 arquivos e diretórios atualmente instalados.)
Preparando para desempacotar .../postgresql-client-10_10.13-1.pgdg100+1_amd64.deb ...
Desempacotando postgresql-client-10 (10.13-1.pgdg100+1) ...
Selecionando pacote previamente não selecionado postgresql-10.
Preparando para desempacotar .../postgresql-10_10.13-1.pgdg100+1_amd64.deb ...
Desempacotando postgresql-10 (10.13-1.pgdg100+1) ...
Configurando postgresql-client-10 (10.13-1.pgdg100+1) ...
update-alternatives: usando /usr/share/postgresql/10/man/man1/psql.1.gz para fornecer /usr/share/man/man1/psql.1.gz (psql.1.gz) no modo automático
Configurando postgresql-10 (10.13-1.pgdg100+1) ...
Criando novo cluster PostgreSQL 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
Os arquivos pertencentes a este sistema de banco de dados serão de propriedade do usuário "postgres".
Este usuário também deve ser o proprietário do processo do servidor.

O cluster de banco de dados será inicializado com o locale "C.UTF-8".
A codificação padrão do banco de dados foi definida como "UTF8".
A configuração padrão de pesquisa de texto será definida como "inglês".

As checksums de página de dados estão desativadas.

corrigindo permissões no diretório existente /var/lib/postgresql/10/main ... ok
criando subdiretórios ... ok
selecionando max_connections padrão ... 100
selecionando shared_buffers padrão ... 128MB
selecionando fuso horário padrão ... Etc/UTC
selecionando implementação de memória compartilhada dinâmica ... posix
criando arquivos de configuração ... ok
executando script de bootstrap ... ok
realizando inicialização pós-bootstrap ... ok
sincronizando dados no disco ... ok

Sucesso. Agora você pode iniciar o servidor de banco de dados usando:

    pg_ctlcluster 10 main start

Ver Cluster Porta Status Proprietário    Diretório de dados              Arquivo de log
10  main    5432 desligado postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: usando /usr/share/postgresql/10/man/man1/postmaster.1.gz para fornecer /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) no modo automático
invoke-rc.d: não foi possível determinar o nível de execução atual
invoke-rc.d: política-rc.d negou a execução de start.
Processando gatilhos para postgresql-common (213.pgdg100+1) ...
Construindo dicionários PostgreSQL a partir de pacotes myspell/hunspell instalados...
Removendo arquivos de dicionário obsoletos:

I, [2020-07-03T17:51:08.576309 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-03T17:51:08.579856 #1]  INFO -- :
I, [2020-07-03T17:51:08.580190 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-03T17:51:08.582830 #1]  INFO -- :
I, [2020-07-03T17:51:08.583011 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-03T17:51:08.585062 #1]  INFO -- :
I, [2020-07-03T17:51:08.585264 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-03T17:51:08.587809 #1]  INFO -- :
I, [2020-07-03T17:51:08.588006 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-03T17:51:08.590249 #1]  INFO -- :
I, [2020-07-03T17:51:08.590442 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres já está rodando, pare o contêiner ; exit 1
2020/07/03 17:51:08 socat[1560] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
I, [2020-07-03T17:51:08.596137 #1]  INFO -- :
I, [2020-07-03T17:51:08.596439 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-03T17:51:08.600217 #1]  INFO -- :
I, [2020-07-03T17:51:08.600879 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-03T17:51:08.604747 #1]  INFO -- :
I, [2020-07-03T17:51:08.604982 #1]  INFO -- : > mkdir -p /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-07-03T17:51:08.608774 #1]  INFO -- :
I, [2020-07-03T17:51:08.609388 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-07-03T17:51:08.613026 #1]  INFO -- :
I, [2020-07-03T17:51:08.621472 #1]  INFO -- : Arquivo > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-03T17:51:08.628392 #1]  INFO -- : Arquivo > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-03T17:51:08.628991 #1]  INFO -- : > chown -R root /var/lib/postgresql/10/main
I, [2020-07-03T17:51:08.639852 #1]  INFO -- :
I, [2020-07-03T17:51:08.640419 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/10/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-07-03T17:51:08.642774 #1]  INFO -- :
I, [2020-07-03T17:51:08.642909 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-07-03T17:51:08.662272 #1]  INFO -- :
I, [2020-07-03T17:51:08.662970 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-07-03T17:51:08.666112 #1]  INFO -- :
I, [2020-07-03T17:51:08.666551 #1]  INFO -- : Substituindo data_directory = '/var/lib/postgresql/10/main' por data_directory = '/shared/postgres_data' em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.667306 #1]  INFO -- : Substituindo (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.667901 #1]  INFO -- : Substituindo (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.668472 #1]  INFO -- : Substituindo (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.668961 #1]  INFO -- : Substituindo (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.669431 #1]  INFO -- : Substituindo (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.669849 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-07-03T17:51:08.674201 #1]  INFO -- :
I, [2020-07-03T17:51:08.674855 #1]  INFO -- : Substituindo (?-mix:#?max_wal_senders *=.*) por max_wal_senders = $db_max_wal_senders em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.675531 #1]  INFO -- : Substituindo (?-mix:#?wal_level *=.*) por wal_level = $db_wal_level em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.676111 #1]  INFO -- : Substituindo (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.676715 #1]  INFO -- : Substituindo (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.677378 #1]  INFO -- : Substituindo (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement em /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.678065 #1]  INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres  peer em /etc/postgresql/10/main/pg_hba.conf
I, [2020-07-03T17:51:08.678642 #1]  INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/10/main/pg_hba.conf
I, [2020-07-03T17:51:08.679176 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main
I, [2020-07-03T17:51:08.681526 #1]  INFO -- : > sleep 5
2020-07-03 17:51:08.696 UTC [1576] FATAL:  arquivos de banco de dados incompatíveis com o servidor
2020-07-03 17:51:08.696 UTC [1576] DETAIL:  O diretório de dados foi inicializado pela versão 9.5 do PostgreSQL, que não é compatível com esta versão 10.13 (Debian 10.13-1.pgdg100+1).
I, [2020-07-03T17:51:13.684752 #1]  INFO -- :
I, [2020-07-03T17:51:13.685864 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
createdb: não foi possível conectar ao banco de dados template1: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:13.767307 #1]  INFO -- :
I, [2020-07-03T17:51:13.767716 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:13.851217 #1]  INFO -- :
I, [2020-07-03T17:51:13.851495 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:13.928923 #1]  INFO -- :
I, [2020-07-03T17:51:13.929167 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
	O servidor está rodando localmente e aceitando
	conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:14.007486 #1]  INFO -- :
I, [2020-07-03T17:51:14.007988 #1]  INFO -- : Terminando processos assíncronos


FALHA
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falhou com retorno #<Process::Status: pid 1602 exit 2>
Localização da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
2941a508509ae0342bb77af4711f0e0a38436095cd1468d01cbe16aba7c3fc41
** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
root@foro:/var/discourse#

Você pode tentar com templates/postgres.template.yml em vez disso?

Claro, aqui estão os logs para esse:

root@foro:/var/discourse# ./launcher rebuild app
Garantindo que o launcher está atualizado
Buscando origin
Launcher está atualizado
cd /pups && git pull && /pups/bin/pups --stdin
Já está atualizado.
I, [2020-07-03T17:53:22.625663 #1]  INFO -- : Carregando --stdin
I, [2020-07-03T17:53:22.635149 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2020-07-03T17:53:22.671728 #1]  INFO -- : Gerando locais (isso pode demorar um pouco)...
Geração concluída.

I, [2020-07-03T17:53:22.672429 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-03T17:53:22.677925 #1]  INFO -- :
I, [2020-07-03T17:53:22.678274 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-03T17:53:22.681699 #1]  INFO -- :
I, [2020-07-03T17:53:22.681920 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-03T17:53:22.684258 #1]  INFO -- :
I, [2020-07-03T17:53:22.684487 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-03T17:53:22.687048 #1]  INFO -- :
I, [2020-07-03T17:53:22.687247 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-03T17:53:22.689561 #1]  INFO -- :
I, [2020-07-03T17:53:22.689885 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres já está rodando, pare o container ; exit 1
2020/07/03 17:53:22 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
I, [2020-07-03T17:53:22.694785 #1]  INFO -- :
I, [2020-07-03T17:53:22.695006 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-03T17:53:22.698248 #1]  INFO -- :
I, [2020-07-03T17:53:22.698408 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-03T17:53:22.701558 #1]  INFO -- :
I, [2020-07-03T17:53:22.701719 #1]  INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-07-03T17:53:22.704625 #1]  INFO -- :
I, [2020-07-03T17:53:22.704807 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-07-03T17:53:22.707685 #1]  INFO -- :
I, [2020-07-03T17:53:22.713135 #1]  INFO -- : Arquivo > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-03T17:53:22.718045 #1]  INFO -- : Arquivo > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2020-07-03T17:53:22.723816 #1]  INFO -- : Arquivo > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-03T17:53:22.730016 #1]  INFO -- : Arquivo > /root/upgrade_postgres  chmod: +x  chown:
I, [2020-07-03T17:53:22.730328 #1]  INFO -- : > chown -R root /var/lib/postgresql/12/main
I, [2020-07-03T17:53:22.862955 #1]  INFO -- :
I, [2020-07-03T17:53:22.863371 #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-07-03T17:53:22.866954 #1]  INFO -- :
I, [2020-07-03T17:53:22.867304 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-07-03T17:53:22.887517 #1]  INFO -- :
I, [2020-07-03T17:53:22.887828 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-07-03T17:53:22.891051 #1]  INFO -- :
I, [2020-07-03T17:53:22.891375 #1]  INFO -- : > /root/upgrade_postgres
I, [2020-07-03T17:53:22.919256 #1]  INFO -- : Atualizando PostgreSQL da versão 9.5 para a 12
AVISO: A atualização do PostgresSQL exigiria 53G adicionais de espaço em disco
Libere algum espaço ou expanda seu disco antes de continuar.

Para evitar a atualização, altere "templates/postgres.template.yml" para "templates/postgres.10.template.yml" em containers/app.yml



FALHA
--------------------
Pups::ExecError: /root/upgrade_postgres falhou com retorno #<Process::Status: pid 45 exit 1>
Localização da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "/root/upgrade_postgres"
584f999e4af2664cac606c4f56491e458a4f40913dc2f0f4c595792854c33fae
** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
root@foro:/var/discourse#

@Falco, espere :thinking:

AVISO: A atualização do PostgresSQL exigiria 53 GB adicionais de espaço em disco

talvez todos os problemas estejam relacionados ao espaço em disco!? :thinking:

Agora que você está usando nosso modelo de PostgreSQL mais recente e suportado, eles realmente estão.

Nosso script solicita espaço livre equivalente a 2x o tamanho atual do banco de dados. Parece que você tem uma instância bem grande!

Um fórum de 3 anos com muita atividade :sweat_smile: Estou expandindo o espaço do DigitalOcean (leva algum tempo), e voltarei mais tarde para atualizar minha primeira postagem se, finalmente, for a solução.

Muito obrigado, @Falco. Eu estava ficando maluco com o problema, e conversar com alguém ajudou muito :joy:

Pode ser mais vantajoso criar um novo droplet com um sistema operacional atualizado e restaurar os dados na nova instância.

Isso proporcionará um novo sistema operacional, exigirá menos espaço em disco e causará menos tempo de inatividade — você apenas colocará o site antigo em modo de somente leitura enquanto faz o backup/restauração para o novo droplet e, em seguida, altera o DNS. Você pode usar um IP estático (não me lembro do nome exato que eles usam) para fazer a troca no nível da rede em vez do nível do DNS (após apontar o DNS para o IP estático).

@Falco confirmado: alterar o modelo e expandir o espaço em disco funciona como uma magia. Obrigado!

@pfaffman essa é uma ótima ideia, vou tentar fazer isso durante o fim de semana. Obrigado pelas sugestões