Em um loop de:
Para concluir a atualização, reconstrua novamente usando: ./launcher rebuild app
Devo estar esquecendo algo. Log completo abaixo. Agradeço qualquer ajuda.
root@discuss:/var/discourse# ./launcher rebuild app
Garantindo que o launcher está atualizado
Buscando origem
Launcher atualizado
Parando o container antigo
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Já está atualizado.
I, [2020-05-26T20:43:00.459915 #1] INFO -- : Carregando --stdin
I, [2020-05-26T20:43:00.466076 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2020-05-26T20:43:00.497010 #1] INFO -- : Gerando locais (isso pode levar um tempo)...
Geração concluída.
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 já está em execução, pare o container ; exit 1
2020/05/26 20:43:00 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
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 -- : Arquivo > /etc/service/postgres/run chmod: +x chown:
I, [2020-05-26T20:43:00.534602 #1] INFO -- : Arquivo > /etc/service/postgres/log/run chmod: +x chown:
I, [2020-05-26T20:43:00.538528 #1] INFO -- : Arquivo > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-05-26T20:43:00.542481 #1] INFO -- : Arquivo > /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: aviso: habilitando autenticação "trust" para conexões locais
Você pode alterar isso editando pg_hba.conf ou usando a opção -A, ou
--auth-local e --auth-host, na próxima vez que executar initdb.
debconf: adiando configuração do pacote, pois apt-utils não está instalado
mv: não é possível mover '/shared/postgres_data' para '/shared/postgres_data_old/postgres_data': Diretório não vazio
mv: não é possível mover '/shared/postgres_data_new' para '/shared/postgres_data/postgres_data_new': Diretório não vazio
I, [2020-05-26T20:43:15.530374 #1] INFO -- : Atualizando PostgreSQL da versão 10 para 12
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 local "en_US.UTF-8".
A codificação padrão do banco de dados foi definida como "UTF8".
A configuração padrão de busca de texto será definida como "english".
Verificações de soma de verificação de página de dados estão desabilitadas.
corrigindo permissões no diretório existente /shared/postgres_data_new ... ok
criando subdiretórios ... ok
selecionando implementação de memória compartilhada dinâmica ... posix
selecionando max_connections padrão ... 100
selecionando shared_buffers padrão ... 128MB
selecionando fuso horário padrão ... Etc/UTC
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:
/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 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49,3 kB]
Get:4 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,6 kB]
Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [201 kB]
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 kB]
Baixados 571 kB em 1s (810 kB/s)
Lendo listas de pacotes...
Lendo listas de pacotes...
Construindo árvore de dependências...
Lendo informações de estado...
Os seguintes pacotes adicionais serão instalados:
postgresql-client-10
Pacotes sugeridos:
postgresql-doc-10
Os seguintes NOVOS pacotes serão instalados:
postgresql-10 postgresql-client-10
0 atualizados, 2 novos instalados, 0 a remover e 9 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 utilizados.
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 2s (4.017 kB/s)
Selecionando pacote previamente não selecionado postgresql-client-10.
(Lendo o banco de dados ... 43929 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: 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-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 local "C.UTF-8".
A codificação padrão do banco de dados foi definida como "UTF8".
A configuração padrão de busca de texto será definida como "english".
Verificações de soma de verificação de página de dados estão desabilitadas.
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
Aviso: O diretório stats_temp_directory selecionado /var/run/postgresql/10-main.pg_stat_tmp
não é gravável para o proprietário do cluster. Esta configuração não será adicionada em
postgresql.conf.
Ver Cluster Porta Status Owner Diretório de dados Arquivo de log
10 main 5433 desligado postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-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.
Processando gatilhos para postgresql-common (213.pgdg100+1) ...
Construindo dicionários PostgreSQL a partir dos pacotes myspell/hunspell instalados...
Removendo arquivos de dicionário obsoletos:
Parando servidor de banco de dados PostgreSQL 10: main.
Parando servidor de banco de dados PostgreSQL 12: main.
Realizando verificações de consistência
-----------------------------
Verificando versões do cluster ok
Verificando se o usuário do banco de dados é o usuário de instalação ok
Verificando configurações de conexão do banco de dados ok
Verificando transações preparadas ok
Verificando tipos de dados reg* em tabelas de usuário ok
Verificando contrib/isn com incompatibilidade de passagem de bigint ok
Verificando tabelas WITH OIDS ok
Verificando colunas de usuário inválidas "sql_identifier" ok
Criando dump de objetos globais ok
Criando dump de esquemas de banco de dados
discourse
postgres
template1
ok
Verificando presença de bibliotecas necessárias ok
Verificando se o usuário do banco de dados é o usuário de instalação ok
Verificando transações preparadas ok
Se pg_upgrade falhar após este ponto, você deve re-inicializar o
novo cluster antes de continuar.
Realizando Atualização
------------------
Analisando todas as linhas no novo cluster ok
Congelando todas as linhas no novo cluster ok
Excluindo arquivos do novo pg_xact ok
Copiando pg_xact antigo para o novo servidor ok
Definindo próximo ID de transação e época para o novo cluster ok
Excluindo arquivos do novo pg_multixact/offsets ok
Copiando pg_multixact/offsets antigo para o novo servidor ok
Excluindo arquivos do novo pg_multixact/members ok
Copiando pg_multixact/members antigo para o novo servidor ok
Definindo próximo ID multixact e offset para o novo cluster ok
Redefinindo arquivos WAL ok
Definindo contadores frozenxid e minmxid no novo cluster ok
Restaurando objetos globais no novo cluster ok
Restaurando esquemas de banco de dados no novo cluster
template1
discourse
postgres
ok
Copiando arquivos de relação de usuário
/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
Definindo próximo OID para o novo cluster ok
Sincronizando diretório de dados no disco ok
Criando script para analisar o novo cluster ok
Criando script para excluir o cluster antigo ok
Atualização Concluída
----------------
Estatísticas do otimizador não são transferidas pelo pg_upgrade, então,
assim que iniciar o novo servidor, considere executar:
./analyze_new_cluster.sh
Executar este script excluirá os arquivos de dados do cluster antigo:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ATUALIZAÇÃO DO POSTGRES CONCLUÍDA
O banco de dados antigo 10 está armazenado em /shared/postgres_data_old
Para concluir a atualização, reconstrua novamente usando:
./launcher rebuild app
-------------------------------------------------------------------------------------