Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo contém os números das mensagens de erro e as respetivas descrições da 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 a solucionar e resolver 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 orientação para resolver o problema.
Tempos limite de conexão
Symptoms
As falhas de migração geralmente se manifestam por meio de mensagens de erro que indicam problemas de conectividade. Estas questões podem surgir durante o processo de transferência de dados. Quando essas falhas ocorrem, elas resultam nas seguintes mensagens de erro:
- O servidor fechou a conexão inesperadamente
- Erro SSL SYSCALL: EOF detetado
- EOF inesperado na conexão do cliente
- Não foi possível receber dados do cliente: Redefinição de conexão por par
Cause
A causa subjacente destes 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 ao tempo limite. As razões específicas para um tempo limite de conexão podem variar, mas os fatores comuns incluem congestionamento da 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.
Resolution
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 PostgreSQL de origem ou de destino. As alterações podem ser aplicadas dinamicamente, permitindo uma continuação contínua do serviço sem interromper as operações do banco de dados.
Conexão encerrada devido ao tempo limite de inatividade na transação
Symptoms
- O serviço de migração encontra uma mensagem de término de conexão.
- Os logs exibem o erro:
terminating connection due to idle-in-transaction timeout.
Cause
Este erro ocorre quando uma conexão de banco de dados permanece ociosa dentro de 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.
Resolution
- Defina o
idle_in_transaction_timeoutparâmetro como0para desativar o tempo limite durante o processo de migração. - Exemplo de comando para aplicar esta 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.
Exaustão de memória compartilhada
Symptoms
O processo de migração é interrompido inesperadamente. Os logs exibem o erro: out of shared memory.
Cause
Este 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.
Resolution
- Aumente o
max_locks_per_transactionvalor do parâmetro para acomodar 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 memória compartilhada suficiente esteja disponível para o gerenciamento de bloqueio.
Uso de CREATE TYPE
Symptoms
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 .
Cause
Para criar um novo tipo base, você deve ser um superusuário (Esta restrição é feita porque uma definição de tipo errônea pode confundir ou até mesmo travar o servidor).
Resolution
- O tipo de base personalizado tem de ser eliminado e/ou substituído por um tipo de base reconhecido.
- Mais detalhes aqui.
Códigos de erro de migração
| Código de Erro | Mensagem de erro | Resolution |
|---|---|---|
| 603000 | A ligação falhou. A conexão com o servidor {serverName} não foi bem-sucedida. Certifique-se de que o servidor de origem esteja acessível 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 para preferir e tente novamente 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 tente novamente a migração. |
N/A |
| 603102 | Banco de dados de origem ausente. O banco de dados {dbName} não existe no servidor de origem. Forneça um banco de dados válido e tente novamente a migração. |
N/A |
| 603103 | Falta a função Microsoft Entra. A função {roleNames} Microsoft Entra está ausente no servidor de destino. Crie a função Entra e tente novamente 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 tentar novamente 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. Utilize esta consulta SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical'; para obter a lista de slots de replicação inativos e eliminá-los utilizando SELECT pg_drop_replication_slot('slot_name'); antes de iniciar a migração. Em alternativa, defina o parâmetro 'max_replication_slots' para {0} ou mais alto. Certifique-se de que o max_wal_senders parâmetro também é 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}. Certifique-se de que iguala 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 | É necessária uma lista de permissões de extensões. As extensões {0} não puderam ser instaladas no servidor de destino porque não constam da lista de permissões. Adicione as extensões à lista de permissões e tente executar novamente a migração. |
Defina a lista de permissões seguindo as etapas mencionadas nas extensões do PostgreSQL. |
| 603109 | Erro de configuração de bibliotecas de pré-carregamento compartilhadas. Adicione extensões {0} permitidas a 'shared_preload_libraries' no servidor de destino e tente novamente a migração. |
Defina as bibliotecas de pré-carregamento compartilhadas seguindo as etapas mencionadas nas extensões 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 acessar o 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 tente novamente 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. Atribua a função pg_signal_backend ao utilizador da migração e tente novamente a migração. | Adicione pg_signal_backend função 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 tente novamente a migração. | Defina 'default_transaction_read_only' como OFF no servidor de origem através do portal do Azure ou através do comando psql (por exemplo, ALTER SYSTEM SET default_transaction_read_only = off). |
| 603113 | Falha de corte. A substituição não pode ser iniciada para o banco de dados '{dbName}', pois a migração já foi com o status Concluído/Falha/Cancelado. | N/A |
| 603114 | Falha de corte. A transição não pode ser iniciada para a base de dados '{dbName}' no modo de migração offline. | N/A |
| 603115 | Privilégios de usuário ausentes. O utilizador de migração '{0}' não é membro da função azure_pg_admin. Adicione os privilégios necessários no servidor de destino e tente novamente a migração. | N/A |
| 603116 | Privilégios de usuário ausentes. O utilizador 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 tente novamente a migração. | Execute a consulta ALTER ROLE <rolename> WITH CREATEROLE; no servidor de destino. |
| 603117 | Privilégios de usuário ausentes. 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. Solte o banco de dados manualmente do servidor de destino e tente novamente a migração. | N/A |
| 603400 | Versão de origem não suportada. A migração das versões do PostgreSQL abaixo {0} não é suportada. |
Você deve usar outro método de migração. |
| 603401 | Incompatibilidade de colação. O agrupamento {0} no banco de dados {1} não está presente no servidor de destino. |
N/A |
| 603402 | Incompatibilidade de colação. 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 de colação. O banco de dados de origem contém agrupamentos definidos pelo usuário. Solte esses agrupamentos e tente novamente a migração. | N/A |
| 603404 | OIDs não suportados detetados. Tabelas com 'WITH OIDs' detetadas na base de dados {0}. Eles não são suportados no PostgreSQL versão 12 e posterior. |
Visite as notas de versão do PostgreSQL. |
| 603405 | Extensões não suportadas. O serviço de migração não suporta a migração de bancos de dados com {0} extensões no servidor de destino. |
N/A |
| 603406 | Extensões não suportadas. O Target PostgreSQL {0} suporta o POSTGIS versão 3.2.3, que é incompatível com o {1}código-fonte. |
Recomende a atualização do servidor de destino para a versão 11. Visite PostGIS quebrando mudanças. |
| 603407 | Erro de esquema de extensão. As extensões {0} localizadas no esquema do sistema no servidor de origem não são suportadas no servidor de destino. Solte e recrie as extensões em um esquema que não seja do sistema e, em seguida, tente novamente a migração. |
Visite extensões do PostgreSQL. |
| 603408 | Extensões não suportadas. O servidor de destino versão 16 não suporta {0} extensões. Migre para a versão 15 ou inferior e, em seguida, atualize quando as extensões forem suportadas. |
N/A |
| 603409 | Existem conversões de tipo definidas pelo utilizador. O banco de dados de origem {0} contém transmissões definidas pelo usuário que não podem ser migradas para o servidor de destino. |
N/A |
| 603410 | Erro de permissão na tabela de 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 tente novamente 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} detém {4} permissões. Para obter uma solução alternativa, visite Usuário, Funções e Permissões |
| 603413 | Língua(s) não suportada(s). O serviço de migração não suporta a migração de bancos de dados com {0} idioma(s) no servidor de destino. Remova a(s) língua(s) e a(s) sua(s) função(ões) implementada(s). |
O servidor de destino não suporta os idiomas não suportados. Tente desativar ou remover o respetivo 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 de servidor interno. Falha ao criar funções no servidor de destino. | Entre em contato com o suporte da Microsoft para obter mais análises. |
| 603702 | Erro de servidor interno. Falha ao despejar funções do servidor de origem. | Entre em contato com o suporte da Microsoft para obter mais análises. |
| 603703 | Erro de servidor interno. Falha ao editar o arquivo de despejo de função global. | Entre em contato com o suporte da Microsoft para obter mais análises. |
| 603704 | Erro de servidor interno. Falha ao tornar 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 mais análises. |
| 603705 | Erro de servidor interno. Não foi possível restaurar as concessões/revogações de permissões. | Entre em contato com o suporte da Microsoft para obter mais análises. |
| 603706 | Erro de servidor interno. Falha ao remover o utilizador 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 tente novamente a migração. | Entre em contato com o suporte da Microsoft para obter mais análises. |
| 603707 | Erro de servidor interno. Falha ao conceder azure_pg_admin ao usuário administrador do servidor de origem. | Entre em contato com o suporte da Microsoft para obter mais análises. |
| 603708 | Erro de servidor interno. Falha ao alterar o 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 tente novamente a migração. | Entre em contato com o suporte da Microsoft para obter mais análises. |
| 603709 | Falha na configuração da migração. | Entre em contato com o suporte da Microsoft para obter mais análises. |