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 |
---|---|
|
Este ficheiro contém tabelas listadas com identificadores de objetos (OIDs). Elimine as tabelas ou modifique-as para que não usem OIDs. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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?
- Saiba mais sobre os erros de atualização da versão principal no local da base de dados.
- Saiba como fazer uma atualização da versão principal no local da base de dados.