Tutorial: Migrar do Banco de Dados do Azure para PostgreSQL - Servidor Único para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível usando o serviço de migração

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Flexível

Usando o portal do Azure, você pode migrar uma instância do Banco de Dados do Azure para PostgreSQL – Servidor Único para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível. Neste tutorial, executamos a migração de um banco de dados de exemplo de um banco de dados do Azure para servidor único PostgreSQL para um servidor flexível PostgreSQL usando o portal do Azure.

  • Configurar seu Banco de Dados do Azure para o Servidor Flexível PostgreSQL
  • Configurar a tarefa de migração
  • Monitorize a migração
  • Cancelar a migração
  • Pós-migração

Você pode migrar usando o portal do Azure.

Pré-requisitos (offline)

Antes de iniciar sua migração com o serviço de migração no Banco de Dados do Azure para PostgreSQL, é essencial cumprir os seguintes pré-requisitos, que se aplicam a cenários de migração offline.

Verifique a versão de origem

A versão do PostgreSQL de origem deve ser >= 9.5. Se a versão de origem do PostgreSQL for menor que 9.5, atualize a versão de origem do PostgreSQL para 9.5 ou superior antes da migração.

Configuração de destino

  • O Banco de Dados do Azure para PostgreSQL deve ser configurado no Azure antes da migração.

  • A SKU escolhida para o Banco de Dados do Azure para PostgreSQL deve corresponder às especificações do banco de dados de origem para garantir compatibilidade e desempenho adequado.

  • Para obter instruções detalhadas sobre como criar um novo Banco de Dados do Azure para PostgreSQL, consulte o seguinte link: Guia de início rápido: criar servidor.

Configuração da rede

A configuração de rede adequada é essencial para garantir uma conectividade bem-sucedida entre a origem e o destino durante a migração. Aqui está um guia para ajudá-lo a estabelecer a conexão de rede para diferentes cenários:

Requisitos de rede para migração:

  • Encapsulamento VPN/VPN ExpressRoute/IPsec: ao conectar sua fonte local/AWS ao Azure, talvez seja necessário configurar um túnel ExpressRoute, IPsec VPN ou VPN para facilitar a transferência segura de dados.

  • Emparelhamento VNET: estabeleça emparelhamento de rede virtual entre as duas redes virtuais distintas para habilitar a conectividade direta de rede, um pré-requisito para a migração entre a VM do Azure e o Banco de Dados do Azure para PostgreSQL.

Cenários de conectividade:

A tabela a seguir pode ajudar a configurar a rede entre a origem e o destino.

Origem Destino Dicas de conectividade
Público Público Nenhuma outra ação será necessária se a origem estiver na lista de permissões nas regras de firewall do destino.
Privado Público Esta configuração não é suportada; Use pg_dump/pg_restore para transferência de dados.
Público Privado Nenhuma outra ação será necessária se a origem estiver na lista de permissões nas regras de firewall do destino.
Privado Privado Estabeleça uma Rota Expressa, VPN IPsec, Túnel VPN ou emparelhamento de rede virtual entre a origem e o destino.
Privado Ponto Final Privado Esta configuração não é suportada; entre em contato com o suporte da Microsoft.

Considerações adicionais de rede:

  • Configuração do pg_hba.conf: Para facilitar a conectividade entre as instâncias PostgreSQL de origem e de destino, é essencial verificar e potencialmente modificar o arquivo pg_hba.conf. Esse arquivo inclui autenticação de cliente e deve ser configurado para permitir que o PostgreSQL de destino se conecte à origem. As alterações no arquivo pg_hba.conf normalmente exigem uma reinicialização da instância do PostgreSQL de origem para entrar em vigor.

Nota

O arquivo pg_hba.conf está localizado no diretório de dados da instalação do PostgreSQL. Esse arquivo deve ser verificado e configurado se o banco de dados de origem for um servidor PostgreSQL local ou um servidor PostgreSQL hospedado em uma VM do Azure. Para instâncias do PostgreSQL no AWS RDS ou serviços gerenciados semelhantes, o arquivo pg_hba.conf não é diretamente acessível ou aplicável. Em vez disso, o acesso é controlado através das configurações de segurança e acesso à rede fornecidas pelo serviço.

Para obter mais informações sobre a configuração de rede, visite Guia de rede para o serviço de migração no Banco de Dados do Azure para PostgreSQL - Servidor Flexível.

Extensões

As extensões são recursos extras que podem ser adicionados ao PostgreSQL para melhorar sua funcionalidade. As extensões têm suporte no Banco de Dados do Azure para PostgreSQL, mas devem ser habilitadas manualmente. Para ativar extensões, siga estes passos:

  • Use o comando select na fonte para listar todas as extensões que estão sendo usadas - select extname,extversion from pg_extension;

  • Procure o parâmetro azure.extensions server na página Server parameter no seu Banco de Dados do Azure para PostgreSQL. Habilite as extensões encontradas na fonte dentro do PostgreSQL.

  • Salve as alterações de parâmetro e reinicie o Banco de Dados do Azure para PostgreSQL para aplicar a nova configuração, se necessário.

    Captura de tela de extensões.

  • Verifique se a lista contém alguma das seguintes extensões:

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLÓGICO
    • WAL2JSON

Em caso afirmativo, procure o parâmetro shared_preload_libraries na página de parâmetros do servidor. Este parâmetro indica o conjunto de bibliotecas de extensão que são pré-carregadas na reinicialização do servidor.

Parâmetros do servidor

Esses parâmetros não são migrados automaticamente para o ambiente de destino e devem ser configurados manualmente.

  • Correlacione os valores dos parâmetros do servidor do banco de dados PostgreSQL de origem ao Banco de Dados do Azure para PostgreSQL acessando a seção "Parâmetros do servidor" no portal do Azure e atualizando manualmente os valores de acordo.

  • Salve as alterações de parâmetro e reinicie o Banco de Dados do Azure para PostgreSQL para aplicar a nova configuração, se necessário.

Desative a alta disponibilidade (confiabilidade) e leia réplicas no destino

  • Desabilitar a alta disponibilidade (confiabilidade) e ler réplicas no ambiente de destino é essencial. Esses recursos devem ser habilitados somente após a conclusão da migração.

  • Seguindo essas diretrizes, você pode ajudar a garantir um processo de migração suave sem as variáveis adicionadas introduzidas por HA e réplicas de leitura. Quando a migração estiver concluída e o banco de dados estiver estável, você poderá continuar habilitando esses recursos para aprimorar a disponibilidade e a escalabilidade do seu ambiente de banco de dados no Azure.

Configurar seu Banco de Dados do Azure para o Servidor Flexível PostgreSQL

  • Crie o servidor flexível de destino. Para obter as etapas guiadas, consulte o guia de início rápido Criar um banco de dados do Azure para servidor flexível PostgreSQL usando o portal.

  • Extensões Allowlist cujas bibliotecas devem ser carregadas no início do servidor. É essencial que a extensão esteja na lista de permissões antes de iniciar uma migração.

  • Verifique se a distribuição de dados entre as tabelas de um banco de dados está distorcida, com a maioria dos dados presentes em uma única (ou pouca) tabela. Se for enviesada, a velocidade de migração pode ser mais lenta do que o esperado. Nesse caso, a velocidade de migração pode ser aumentada migrando a tabela grande em paralelo.

Configurar a tarefa de migração

O serviço de migração vem com uma experiência simples baseada em assistente no portal do Azure. Veja como começar:

  1. Abra o browser e aceda ao portal do Azure. Para iniciar sessão, introduza as suas credenciais. A vista predefinida é o dashboard de serviço.

  2. Vá para o seu Banco de Dados do Azure para o destino do Servidor Flexível PostgreSQL.

  3. Na guia Visão geral do Servidor flexível, no menu à esquerda, role para baixo até Migração e selecione-a.

    Captura de tela da página Visão geral flexível.

  4. Selecione o botão Criar para iniciar uma migração de um único servidor para um servidor flexível. Se esta for a primeira vez que você usa o serviço de migração, uma grade vazia será exibida com um prompt para iniciar sua primeira migração.

    Captura de ecrã do separador de migração no servidor flexível.

    Se você já criou migrações para o destino Servidor Flexível, a grade contém informações sobre migrações que foram tentadas para esse destino a partir do Servidor Único.

  5. Selecione o botão Migrar de um único servidor . Você passa por uma série de guias baseadas em assistente para criar uma migração para esse destino de Servidor Flexível a partir de qualquer Servidor Único de origem.

Como alternativa, você pode iniciar o processo de migração do Banco de Dados do Azure para o Servidor Único PostgreSQL.

  1. Abra o browser e aceda ao portal do Azure. Para iniciar sessão, tem de introduzir as suas credenciais. A vista predefinida é o dashboard de serviço.

  2. Ao selecionar o Servidor Único, você pode observar um banner relacionado à migração na guia Visão geral. Selecione Migrar agora para começar.

    Captura de tela para iniciar a migração da guia Servidor Único.

  3. Você é direcionado para uma página com duas opções. Se você já criou um Servidor Flexível e deseja usá-lo como destino, escolha Selecionar existente e selecione os detalhes correspondentes de Assinatura, Grupo de recursos e Nome do servidor. Depois que as seleções forem feitas, selecione Ir para o Assistente de migração e pule para as instruções na seção da guia Configuração desta página.

    Captura de tela para escolher a opção de servidor flexível existente.

  4. Se você optar por Criar um novo servidor flexível, selecione Criar novo e selecione Ir para o assistente de criação. Esta ação o conduz pelo processo de criação do Servidor Flexível e implanta o Servidor Flexível.

    Captura de tela para escolher a nova opção de servidor flexível.

Depois de implantar o Servidor Flexível, siga as etapas 3 a 5 em Configurar a tarefa de migração.

Guia Configuração

A primeira guia é Configuração. Caso você tenha perdido, permita listar as extensões necessárias, conforme mostrado em É essencial permitir essas extensões antes de iniciar uma migração.

Captura de ecrã dos detalhes pertencentes ao separador de configuração para offline.

O nome da migração é o identificador exclusivo de cada migração para esse destino do Servidor Flexível. Este campo aceita apenas caracteres alfanuméricos e não aceita nenhum caractere especial, exceto um hífen (-). O nome não pode começar com um hífen e deve ser exclusivo para um servidor de destino. Não há duas migrações para o mesmo destino do Servidor Flexível que possam ter o mesmo nome.

O tipo de servidor de origem indica a origem. Neste caso, é o Banco de Dados do Azure para servidor único PostgreSQL

A opção de migração permite que você execute validações antes de acionar uma migração. Você pode escolher qualquer uma das seguintes opções.

  • Validar - Verifica a preparação do servidor e do banco de dados para a migração para o destino.
  • Migrar - Ignora validações e inicia migrações.
  • Validar e migrar - Executa a validação antes de acionar uma migração. A migração só é acionada se não houver falhas de validação.

É sempre uma boa prática escolher a opção Validar ou Validar e Migrar para executar validações de pré-migração antes de executar a migração.

Se a visualização da migração online estiver selecionada, a replicação lógica deverá ser ativada no servidor único de origem. Se não estiver ativado, o serviço de migração ativará automaticamente a replicação lógica no servidor único de origem. A replicação também pode ser configurada manualmente na guia Replicação no painel Único do lado do servidor, definindo o nível de suporte de replicação do Azure como Lógico. Qualquer uma das abordagens reinicia o servidor único de origem.

Selecione o botão Next : Connect to Source .

Separador Origem

A guia Origem solicita que você forneça detalhes relacionados ao Servidor Único, que é a origem dos bancos de dados.

Depois de fazer as seleções de Assinatura e Grupo de Recursos, a lista suspensa para nomes de servidor mostra Servidores Únicos nesse grupo de recursos entre regiões. Selecione a origem da qual deseja migrar bancos de dados. Você pode migrar bancos de dados de um Servidor Único para um Servidor Flexível de destino na mesma região. As migrações entre regiões são habilitadas apenas para servidores da Índia, China e Emirados Árabes Unidos.

Depois de escolher a origem do Servidor Único, as caixas Local, Versão do PostgreSQL e Nome de login do administrador do servidor são preenchidas automaticamente. O nome de entrada do administrador do servidor é o nome de usuário do administrador usado para criar o Servidor Único. Na caixa Palavra-passe, introduza a palavra-passe desse utilizador administrador. O serviço de migração migra bancos de dados de servidor único como o usuário administrador.

Depois de preencher todos os campos, selecione o link Conectar à fonte . Isso valida se os detalhes do servidor de origem inseridos estão corretos e se o servidor de origem está acessível.

Captura de tela dos detalhes do servidor de banco de dados de origem.

Selecione o botão Avançar : Selecione o destino da migração para continuar.

Separador Destino

A guia Destino exibe metadados para o destino Servidor flexível, como nome da assinatura, grupo de recursos, nome do servidor, local e versão do PostgreSQL.

Captura de tela dos detalhes do servidor de banco de dados de destino.

Para Nome de login do administrador do servidor, a guia exibe o nome de usuário do administrador usado durante a criação do destino do Servidor flexível. Digite a senha correspondente para o usuário administrador. Depois de preencher a senha, selecione o link Conectar ao destino . Isso valida se os detalhes do servidor de destino inseridos estão corretos e se o servidor de destino está acessível.

Selecione o botão Avançar para selecionar os bancos de dados a serem migrados.

Selecione Bancos de dados para a guia de migração

Nesta guia, há uma lista de bancos de dados de usuários dentro do Servidor Único. Você pode selecionar e migrar até oito bancos de dados em uma única tentativa de migração. Se houver mais de oito bancos de dados de usuários, o processo de migração será repetido entre os servidores de origem e de destino para o próximo conjunto de bancos de dados. Por padrão, os bancos de dados selecionados com o mesmo nome no destino são substituídos.

Captura de tela de Bancos de dados a serem migrados.

Selecione o botão Avançar para revisar os detalhes.

Resumo

A guia Resumo resume todos os detalhes para criar a validação ou migração. Reveja os detalhes e selecione no botão Iniciar.

Captura de ecrã dos detalhes a rever para a migração.

Monitorar o portal de migração

Depois de selecionar o botão Iniciar, uma notificação aparece em alguns segundos para dizer que a validação ou a criação da migração foi bem-sucedida. Você será redirecionado automaticamente para a página Migração do Servidor flexível. Isso tem uma nova entrada para a validação ou migração criada recentemente.

Captura de ecrã dos detalhes de migração criados recentemente.

A grade que exibe as migrações tem estas colunas: Nome, Status, Tipo de migração, Modo de migração, Servidor de origem, Tipo de servidor de origem, Bancos de dados, Hora de início e Duração. As entradas são exibidas na ordem decrescente da hora de início com a entrada mais recente na parte superior.

Você pode usar o botão Atualizar para atualizar o status da validação ou migração. Você também pode selecionar o nome da migração na grade para ver os detalhes associados.

Quando a validação ou migração é criada, ela é movida para o estado InProgress e para o subestado PerformingPreRequirementeSteps. O fluxo de trabalho leva de 2 a 3 minutos para configurar a infraestrutura de migração e as conexões de rede.

Vejamos como monitorar as migrações para cada Opção de Migração.

Validar

Depois que o subestado PerformingPreRequisiteSteps for concluído, a validação será movida para o subestado de Validação em Andamento, onde as verificações são feitas no servidor de origem e de destino para avaliar a prontidão para a migração.

A validação será movida para o estado Bem-sucedido se todas as validações estiverem no estado Êxito ou Aviso .

Captura de ecrã da grelha de validação.

A grelha de validação tem a

  • Detalhes de validação, por exemplo , e Detalhes de validação para bancos de dados , representando as regras de validação usadas para verificar a prontidão da migração.
  • Status de validação - Representa o resultado de cada regra e pode ter qualquer um dos três valores
    • Bem sucedido - Se nenhum erro foi encontrado.
    • Falha - Se houver erros de validação.
    • Aviso - Se houver avisos de validação.
  • Duração - Tempo necessário para a operação de Validação.
  • Hora de início e fim - Hora de início e fim da operação de validação em UTC.

O status Validação será movido para o estado Falha se houver erros na validação. Selecione o Nome de validação ou a validação do nome do banco de dados que falhou e um painel de distribuição fornece os detalhes e a ação corretiva que você deve tomar para evitar esse erro.

Captura de ecrã da grelha de validação com estado de falha.

Migrar

Depois que o substrato PerformingPreRequisiteSteps for concluído, a migração será movida para o substrato de Migrando dados quando ocorrer a clonagem/cópia dos bancos de dados. O tempo para a conclusão da migração depende do tamanho e da forma dos bancos de dados que você está migrando. A migração é rápida se os dados estiverem distribuídos uniformemente em todas as tabelas. Tamanhos de mesa distorcidos levam um tempo relativamente maior.

Quando você seleciona qualquer um dos bancos de dados na migração, um painel de distribuição é exibido. Ele tem toda a contagem de tabelas - copiadas, enfileiradas, copiando e erros, além do status de migração do banco de dados.

Captura de tela da grade de migração contendo todos os detalhes do banco de dados.

A migração é movida para o estado Bem-sucedido quando o estado Migrando dados é concluído com êxito. Se houver um problema no estado Migrando dados , a migração será movida para um estado Falha .

Captura de ecrã do resultado da migração.

Depois que a migração for movida para o estado Bem-sucedido, a migração de esquema e dados do Servidor Único para o destino do Servidor Flexível será concluída. Você pode usar o botão de atualização na página para confirmar o mesmo.

Captura de tela das migrações concluídas.

Validar e migrar

Nessa opção, as validações são executadas primeiro antes do início da migração. Depois que o subestado PerformingPreRequisiteSteps for concluído, o fluxo de trabalho será movido para o subestado de Validação em Andamento.

  • Se a validação tiver erros, a migração será movida para um estado Falha .
  • Se a validação for concluída sem qualquer erro, a migração será iniciada e o fluxo de trabalho será movido para o subestado de Migrando dados.

Você pode ver os resultados de Validar e Migrar quando a operação for concluída.

Captura de ecrã a mostrar o separador validações na página de detalhes.

Cancelar a migração usando o portal

Você pode cancelar todas as validações ou migrações em andamento. O fluxo de trabalho deve estar no estado InProgress para ser cancelado. Não é possível cancelar uma validação ou migração que esteja no estado Bem-sucedido ou Reprovado .

O cancelamento de uma validação interrompe qualquer atividade de validação adicional e a validação passa para um estado Cancelado . O cancelamento de uma migração interrompe a atividade de migração adicional no servidor de destino e passa para um estado Cancelado . Ele não solta ou reverte nenhuma alteração no servidor de destino. Certifique-se de soltar os bancos de dados no servidor de destino envolvidos em uma migração cancelada.

Pós-migração

Depois de concluir os bancos de dados, você precisa validar manualmente os dados entre origem e destino e verificar se todos os objetos no banco de dados de destino foram criados com êxito.

Após a migração, você pode executar as seguintes tarefas:

  • Verifique os dados em seu servidor flexível e certifique-se de que é uma cópia exata da instância de origem.

  • Após a verificação, ative a opção de alta disponibilidade em seu servidor flexível, conforme necessário.

  • Altere a SKU do servidor flexível para corresponder às necessidades do aplicativo. Essa alteração precisa ser reiniciada pelo servidor de banco de dados.

  • Se você alterar quaisquer parâmetros do servidor de seus valores padrão na instância de origem, copie esses valores de parâmetro do servidor no servidor flexível.

  • Copie outras configurações do servidor, como tags, alertas e regras de firewall (se aplicável) da instância de origem para o servidor flexível.

  • Faça alterações em seu aplicativo para apontar as cadeias de conexão para um servidor flexível.

  • Monitore o desempenho do banco de dados de perto para ver se ele requer ajuste de desempenho.