Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo contém números de mensagem de erro e as descrições usados na validação de pré-migração.
As tabelas a seguir fornecem uma lista abrangente de códigos de erro para o recurso de serviço de migração no Banco de Dados do Azure para PostgreSQL. Esses códigos de erro ajudam você a solucionar problemas durante o processo de migração. Cada código de erro tem uma mensagem de erro e outros detalhes que fornecem mais contexto e diretrizes para resolver o problema.
Tempos limite da conexão
Sintomas
As falhas de migração geralmente se manifestam por meio de mensagens de erro que indicam problemas de conectividade. Esses problemas podem surgir durante o processo de transferência de dados. Quando essas falhas ocorrem, elas resultam nas seguintes mensagens de erro:
- servidor fechou a conexão inesperadamente
- Erro SSL SYSCALL: EOF detectado
- EOF inesperado na conexão do cliente
- não foi possível receber dados do cliente: conexão redefinida pelo par
Causa
A causa subjacente desses sintomas é um connection timeout. Isso geralmente ocorre quando o servidor ou o cliente espera receber dados dentro de um determinado período de tempo, mas nenhum dado é enviado ou recebido, levando a conexão a atingir o tempo limite. Os motivos específicos para um tempo limite de conexão podem variar, mas os fatores comuns incluem congestionamento de rede, configurações de rede mal configuradas ou configurações de tempo limite excessivamente agressivas.
No contexto do serviço de migração no Banco de Dados do Azure para PostgreSQL, um tempo limite de conexão entre a origem e o serviço de migração ou entre o serviço de migração e o destino pode interromper o processo de transferência de dados, resultando nos sintomas descritos acima.
Solução
Para resolver os problemas de tempo limite de conexão, ajuste os parâmetros TCP nos servidores de origem e de destino da seguinte maneira:
tcp_keepalives_idle=10tcp_keepalives_interval=10tcp_keepalives_count=60
Essas configurações ajudam a manter a conexão enviando sondas keepalive para evitar tempos limite devido à inatividade. É importante ressaltar que modificar esses parâmetros TCP não requer uma reinicialização das instâncias do PostgreSQL de origem ou de destino. As alterações podem ser aplicadas dinamicamente, permitindo uma continuação perfeita do serviço sem interromper as operações do banco de dados.
Conexão encerrada por causa do tempo limite de inatividade na transação
Sintomas
- O serviço de migração encontra uma mensagem de encerramento de conexão.
- Os logs exibem o erro:
terminating connection due to idle-in-transaction timeout.
Causa
Esse erro ocorre quando uma conexão de banco de dados permanece ociosa em uma transação por mais tempo do que o valor especificado no idle_in_transaction_timeout parâmetro. O PostgreSQL encerra automaticamente essas conexões para evitar problemas de bloqueio de recursos.
Solução
- Defina o
idle_in_transaction_timeoutparâmetro como0para desabilitar o tempo limite durante o processo de migração. - Exemplo de comando para aplicar essa configuração:
ALTER SYSTEM SET idle_in_transaction_timeout = 0;
- Certifique-se de redefinir esse parâmetro para seu valor original após a migração para manter o desempenho do banco de dados e evitar conexões ociosas prolongadas.
Esgotamento de memória compartilhada
Sintomas
O processo de migração é interrompido inesperadamente. Os logs exibem o erro: out of shared memory.
Causa
Esse erro indica que o PostgreSQL esgotou a memória compartilhada alocada para bloqueios. Normalmente, ocorre quando o processo de migração envolve muitos bloqueios além da configuração atual do parâmetro max_locks_per_transaction.
Solução
- Aumente o valor do parâmetro
max_locks_per_transactionpara comportar os outros bloqueios necessários durante o processo de migração. - Exemplo de comando para modificar essa configuração:
ALTER SYSTEM SET max_locks_per_transaction = <<>>; - Certifique-se de que,
max_locks_per_transaction * max_connections > Number of tables + Number of indexes - Se o problema persistir, considere aumentar o parâmetro shared_buffers para garantir que haja memória compartilhada suficiente disponível para o gerenciamento de bloqueios.
Uso de CREATE TYPE
Sintomas
O processo de migração é interrompido inesperadamente. Os logs exibem o erro: pg_restore: error: could not execute query: ERROR: must be superuser to create a base type .
Causa
Para criar um novo tipo base, você deve ser um superusuário (essa restrição é feita porque uma definição de tipo errônea pode confundir ou até mesmo falhar o servidor).
Solução
- O tipo base personalizado deve ser excluído e/ou substituído por um tipo base reconhecido.
- Mais detalhes aqui.
Códigos de erro de migração
| Código de erro | Mensagem de erro | Solução |
|---|---|---|
| 603000 | Falha na conexão. A conexão com o servidor {serverName} não foi bem-sucedida. Verifique se o servidor de origem pode ser acessado a partir do servidor de destino ou de tempo de execução. |
Consulte o guia de rede para depurar problemas de conectividade. |
| 603001 | Erro de configuração SSL. O servidor {serverName} não suporta SSL. Verifique as configurações de SSL. Defina o modo SSL como preferir e repetir a migração. |
Consulte o guia de rede para depurar problemas de conectividade. |
| 603100 | Falha na autenticação. A senha do servidor {serverName} está incorreta. Digite a senha correta e tente novamente a migração. |
N/A |
| 603101 | O banco de dados existe no destino. O banco de dados {dbName} existe no servidor de destino. Verifique se o servidor de destino não tem o banco de dados e repita a migração. |
N/A |
| 603102 | Banco de dados de origem não encontrado. O banco de dados {dbName} não existe no servidor de origem. Forneça um banco de dados válido e repita a migração. |
N/A |
| 603103 | Função do Microsoft Entra não encontrada. A função {roleNames} do Microsoft Entra está ausente no servidor de destino. Crie a função Entra e repita a migração. |
N/A |
| 603104 | Função de replicação ausente. O usuário {0} não tem a função de replicação no servidor {1}. Conceda a função de replicação antes de repetir a migração. |
Use ALTER ROLE <rolename> WITH REPLICATION; para conceder a permissão necessária. |
| 603105 | Erro de configurações do GUC. Slots de replicação insuficientes no servidor de origem para migração. Aumente o max_replication_slots parâmetro GUC para {0} ou superior. |
O servidor de origem não tem slots de replicação suficientes disponíveis para executar a migração online. Use essa consulta SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical'; para obter a lista de slots de replicação inativos e descartá-los usando SELECT pg_drop_replication_slot('slot_name'); antes de iniciar a migração. Como alternativa, defina o parâmetro 'max_replication_slots' como {0} ou superior. Certifique-se de que o max_wal_senders parâmetro também seja alterado para ser maior ou igual ao max_replication_slots' parameter. |
| 603106 | Erro de configurações do GUC. O max_wal_senders parâmetro GUC é definido como {0}. Verifique se ele corresponde ou excede o valor de 'max_replication_slots'. |
N/A |
| 603107 | Erro de configurações do GUC. O parâmetro de nível WAL do servidor de origem é definido como {0}. Defina o nível WAL do parâmetro GUC como 'lógico'. |
N/A |
| 603108 | Lista de permissões de extensões necessária. As extensões {0} não puderam ser instaladas no servidor de destino porque não estão na lista de permissões. Adicione as extensões à lista de permissões e tente a migração novamente. |
Defina a lista de permissões seguindo as etapas mencionadas em Extensões do PostgreSQL. |
| 603109 | Erro de configuração de bibliotecas de pré-carregamento compartilhadas. Adicione as extensões permitidas {0} a 'shared_preload_libraries' no servidor de destino e tente a migração novamente. |
Defina as bibliotecas de pré-carregamento compartilhadas seguindo as etapas mencionadas em Extensões do PostgreSQL. Isso requer uma reinicialização do servidor. |
| 603110 | Privilégios insuficientes. O usuário de migração não tem as permissões necessárias para acesso ao banco de dados. Verifique se o usuário de migração é proprietário dos bancos de dados de origem e tem privilégios de leitura e gravação e repita a migração. | N/A |
| 603111 | Falha na limpeza do banco de dados de destino. Não é possível encerrar conexões ativas no banco de dados de destino durante a fase de pré-migração. Conceda a role pg_signal_backend ao usuário de migração e repita a migração. | Adicione a função pg_signal_backend ao usuário de migração usando o comando "GRANT pg_signal_backend to <migration_user>" |
| 603112 | Erro de configurações do GUC. Falha ao definir o parâmetro GUC default_transaction_read_only para desativado. Verifique se o acesso de gravação do usuário está definido corretamente e repita a migração. | Defina 'default_transaction_read_only' como OFF no servidor de origem por meio do portal do Azure ou por meio do comando psql (por exemplo, ALTER SYSTEM SET default_transaction_read_only = off). |
| 603113 | Falha na substituição. A transição não pode ser iniciada para o banco de dados "{dbName}", pois a migração já está com o status Concluído/Falhou/Cancelado. | N/A |
| 603114 | Falha na substituição. A transição não pode ser iniciada para o banco de dados "{dbName}" no modo de migração offline. | N/A |
| 603115 | Permissões de usuário insuficientes. O usuário de migração '{0}' não é membro da função azure_pg_admin. Adicione os privilégios necessários no servidor de destino e repita a migração. | N/A |
| 603116 | Permissões de usuário insuficientes. O usuário de migração '{0}' não tem o privilégio para criar funções. Adicione os privilégios necessários no servidor de destino e repita a migração. | Execute a consulta ALTER ROLE <rolename> WITH CREATEROLE; no servidor de destino. |
| 603117 | Permissões de usuário insuficientes. O usuário de migração '{0}' não tem os privilégios necessários para excluir o banco de dados '{dbName}' no servidor de destino. Remova o banco de dados manualmente do servidor de destino e repita a migração. | N/A |
| 603400 | Versão de origem sem suporte. A migração das versões do PostgreSQL abaixo {0} não é suportada. |
Você deve usar outro método de migração. |
| 603401 | Incompatibilidade do agrupamento. O agrupamento {0} no banco de dados {1} não está disponível no servidor de destino. |
N/A |
| 603402 | Incompatibilidade do agrupamento. O agrupamento {0} da tabela {1} na coluna {2} não está presente no servidor de destino. |
Entre em contato com o suporte da Microsoft para adicionar os agrupamentos necessários. |
| 603403 | Incompatibilidade do agrupamento. O banco de dados de origem contém agrupamentos definidos pelo usuário. Descarte esses agrupamentos e repita a migração. | N/A |
| 603404 | Foram detectados OIDs não suportados. Tabelas com 'WITH OIDs' detectadas no banco de dados {0}. Eles não são compatíveis com o PostgreSQL versão 12 e posterior. |
Visite notas de versão do PostgreSQL. |
| 603405 | Extensões não suportadas. O serviço de migração não dá suporte à migração de bancos de dados com {0} extensões no servidor de destino. |
N/A |
| 603406 | Extensões não suportadas. O PostgreSQL de destino {0} oferece suporte à versão 3.2.3 do POSTGIS, que é incompatível com a {1} de origem. |
Recomende a atualização do servidor de destino para a versão 11. Visite Alterações revolucionárias no PostGIS. |
| 603407 | Erro de esquema de extensão. As extensões {0} localizadas no esquema do sistema no servidor de origem não têm suporte no servidor de destino. Solte e recrie as extensões em um esquema que não seja do sistema e, em seguida, repita a migração. |
Visite Extensões do PostgreSQL. |
| 603408 | Extensões não suportadas. A versão 16 do servidor de destino não oferece suporte a {0} extensões. Migre para a versão 15 ou inferior e atualize assim que as extensões forem suportadas. |
N/A |
| 603409 | Há conversões de tipo definidas pelo usuário. O banco de dados de origem {0} contém conversões definidas pelo usuário que não podem ser migradas para o servidor de destino. |
N/A |
| 603410 | Erro de permissão da tabela do sistema. Os usuários têm acesso a tabelas do sistema, como pg_authid e pg_shadow, que não podem ser migradas para o destino. Revogue essas permissões e repita a migração. | Validar as permissões padrão concedidas a pg_catalog tabelas/exibições (como pg_authid e pg_shadow) é essencial. No entanto, essas permissões não podem ser atribuídas ao destino. Especificamente, o usuário {1} possui {2} permissões, enquanto o usuário {3} possui {4} permissões. Para obter uma solução alternativa, visite Usuário, Funções e Permissões |
| 603413 | Idioma(s) não suportado(s). O serviço de migração não oferece suporte à migração de bancos de dados com {0} idiomas no servidor de destino. Remova o(s) idioma(s) e sua(s) função(ões) implementada(s). |
O servidor de destino não oferece suporte aos idiomas sem suporte. Tente desabilitar ou remover o respectivo idioma no servidor de origem antes de migrar para o servidor de destino. |
| 603700 | Falha na limpeza do banco de dados de destino. Não é possível encerrar conexões ativas no banco de dados de destino durante a fase de pré-migração/pós-migração. | N/A |
| 603701 | Erro interno do servidor. Falha ao criar funções no servidor de destino. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603702 | Erro interno do servidor. Falha no despejo de funções do servidor de origem. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603703 | Erro interno do servidor. Falha na edição do arquivo de despejo de função global. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603704 | Erro interno do servidor. Falha na transformação de todas as funções de origem um membro do usuário de migração de destino. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603705 | Erro interno do servidor. Não foi possível restaurar as permissões concedidas/revogadas. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603706 | Erro interno do servidor. Falha na limpeza do usuário de migração do servidor de destino. Seu usuário de migração de destino pode fazer parte de várias funções. Remova todas as funções desnecessárias do usuário de migração do servidor de destino e repita a migração. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603707 | Erro interno do servidor. Falha ao conceder azure_pg_admin ao usuário administrador do servidor de origem. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603708 | Erro interno do servidor. Falha na alteração do proprietário do esquema público para azure_pg_admin no banco de dados "{dbName}". Altere o proprietário do esquema público para azure_pg_admin manualmente e repita a migração. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |
| 603709 | Falha na configuração da migração. | Entre em contato com o suporte da Microsoft para obter uma análise mais aprofundada. |