Resolva problemas com uma atualização da versão principal no local

Este documento descreve como resolver problemas que pode encontrar ao atualizar a base de dados do AlloyDB for PostgreSQL para uma versão principal no local. Para mais informações, consulte o artigo Atualize uma versão principal no local de uma base de dados. Para saber mais sobre os erros de atualização da versão principal no local, consulte o artigo Erros de atualização da versão principal no local da base de dados.

Para analisar as falhas de atualização, identifique a fase de atualização com falha na resposta e use as informações neste documento para identificar possíveis resoluções.

O AlloyDB valida o seu pedido de forma síncrona e devolve uma mensagem de erro se alguma das seguintes condições for verdadeira:

  • O pedido é inválido. Por exemplo, se a versão principal de destino fornecida não for suportada ou for inferior ou igual à versão principal atual.
  • Os recursos do cluster estão num estado em que não é possível acionar a atualização da versão principal. Por exemplo, se o cluster ou qualquer uma das instâncias associadas não estiverem num estado READY.

Se o pedido for válido, a atualização pode falhar pelos seguintes motivos:

  • As verificações pré-atualização realizadas em várias fases podem falhar, o que indica que foram detetadas violações. Tem de resolver estas violações antes de reiniciar a atualização.
  • Os erros internos significam que tem de tentar novamente a atualização. Se as novas tentativas falharem, contacte o apoio técnico do Google Cloud.

Falhas na verificação pré-atualização do AlloyDB

As falhas na verificação pré-atualização podem ocorrer em qualquer uma das seguintes fases:

  • Verificações de pré-atualização do AlloyDB (ALLOYDB_PRECHECK)
  • pg_upgrade verificações (PG_UPGRADE_CHECK)
  • Atualizações de clusters primários (PRIMARY_INSTANCE_UPGRADE)

As falhas na verificação pré-atualização são problemas que o AlloyDB deteta durante a fase de validação pré-atualização, o que pode fazer com que a atualização da versão principal no local falhe. Por exemplo, o AlloyDB verifica se existem incompatibilidades de extensões entre a versão principal atual e a versão principal de destino.

As mensagens de erro são preenchidas no elemento logs_url na resposta da operação de atualização. Pode ver estes registos navegando para o Explorador de registos na Google Cloud consola. Para mais informações, consulte o artigo Veja os registos de atualizações.

Para ver as falhas e as mensagens de erro correspondentes que pode ver nos registos, consulte o artigo Erros de atualização da versão principal no local da base de dados.

Segue-se um exemplo do resumo gerado nos registos pelas verificações de pré-atualização do AlloyDB:

Total number of databases checked for custom checks: 3
Total number of databases containing pg_largeobject: 0
Total number of databases containing event triggers permissions issue: 0
Total number of databases containing extensions compatibility violation: 1
Total number of databases containing search path violations: 0

Falhas na verificação de pg_upgrade

O PG_UPGRADE_CHECK verifica se existem violações através do utilitário pg_upgrade padrão. Esta verificação de atualização inclui inconsistências de dados resultantes de vários fatores, incluindo diferenças nas estruturas de dados específicas da versão, alterações na codificação e na ordenação, modificações nos tipos de dados e ajustes ao catálogo do sistema.

Vários ficheiros, como tables_with_oids.txt e tables_using_reg.txt, que são gerados durante a pg_upgrade, são exportados para o ficheiro de registo postgres_upgrade. Pode filtrar estes ficheiros através da etiqueta labels.FILE_NAME.

Os nomes de ficheiros que podem conter erros a resolver incluem o seguinte:

Nome do ficheiro Descrição

tables_with_oids.txt

Este ficheiro contém tabelas listadas com identificadores de objetos (OIDs). Elimine as tabelas ou modifique-as para que não usem OIDs.

tables_using_composite.txt

Este ficheiro contém tabelas listadas através de tipos compostos definidos pelo sistema. Elimine as tabelas ou modifique-as para que não usem estes tipos compostos.

tables_using_unknown.txt

Este ficheiro contém tabelas que são apresentadas através do tipo de dados UNKNOWN. Elimine as tabelas ou modifique-as para que não usem este tipo de dados.

tables_using_sql_identifier.txt

Este ficheiro contém tabelas que são apresentadas através do tipo de dados SQL_IDENTIFIER. Elimine as tabelas ou modifique-as para que não usem este tipo de dados.

tables_using_reg.txt

Este ficheiro contém tabelas que são apresentadas através do tipo de dados REG*, por exemplo, REGCOLLATION ou REGNAMESPACE. Elimine as tabelas ou modifique-as para que não usem este tipo de dados.

postfix_ops.txt

Este ficheiro contém tabelas que são apresentadas através de operadores postfix (unários à direita). Elimine as tabelas ou modifique-as para que não usem estes operadores.

Falhas de pg_upgrade

A estrutura dos registos PG_UPGRADE é semelhante à estrutura dos registos PG_UPGRADE_CHECK.

Segue-se um exemplo de um registo com a etiqueta labels.FILE_NAME=pg_upgrade_dump*.log:

pg_upgrade_dump: error: query failed: ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.

O que se segue?