Migre um banco de dados PostgreSQL autogerenciado para o ApsaraDB RDS for PostgreSQL usando replicação física por streaming. O banco de dados source permanece online durante a migração, permitindo que suas aplicações continuem em execução. É necessária apenas uma breve janela de transição para direcionar o tráfego à instância RDS.
Pré-requisitos
Antes de começar, verifique se:
Instância RDS de destino:
-
A versão principal do mecanismo corresponde à do seu banco de dados PostgreSQL autogerenciado. Há suporte para PostgreSQL 10 e versões posteriores.
NotaPara migrar entre versões principais do mecanismo (por exemplo, do PostgreSQL 10 para o RDS for PostgreSQL 13), conclua primeiro a migração para a nuvem com um clique e depois atualize a versão principal separadamente. Para mais informações, consulte Atualizar a versão principal de um banco de dados.
A instância é primária. Instâncias somente leitura não oferecem suporte à migração para a nuvem com um clique.
A classe de armazenamento é disco em nuvem.
A instância está vazia e tem armazenamento disponível maior ou igual ao tamanho total dos dados do banco de dados source.
Banco de dados PostgreSQL autogerenciado:
-
A conectividade de rede está estabelecida conforme a origem da migração:
Origem da migração
Requisito de rede
PostgreSQL autogerenciado em uma instância ECS ou instância RDS for PostgreSQL
A origem deve estar na mesma Virtual Private Cloud (VPC) da instância RDS de destino. Se estiverem em VPCs diferentes, conecte-as usando a Cloud Enterprise Network (CEN). Para mais informações, consulte Cloud Enterprise Network.
PostgreSQL autogerenciado em um data center local
Estabeleça uma conexão de rede privada entre o data center e a instância RDS de destino. Para mais informações, consulte Conectar uma VPC a um IDC local.
-
As configurações a seguir foram concluídas:
(Opcional) Grupo de segurança do ECS configurado — necessário apenas quando a origem estiver em uma instância ECS
Etapa 1: Executar uma avaliação de viabilidade
A avaliação de viabilidade verifica se as instâncias source e de destino atendem aos requisitos antes do início da migração.
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Localize a instância e clique em ID.
No painel de navegação à esquerda, clique em One-Click Cloud Migration/Disaster Recovery e, em seguida, clique na aba Feasibility Evaluation.
Na etapa Select Scenario and Source Type, defina Scenario como Cloud Migration, selecione a origem da migração e clique em Next.
Na etapa Target Instance Configuration, clique em Next.
-
Na etapa Source Instance Configuration, marque as caixas de seleção de todos os itens de configuração concluídos e clique em Next.
NotaPara obter detalhes sobre cada item de configuração, consulte (Opcional) Configurar um grupo de segurança do ECS, Criar uma conta de migração e Atualizar o arquivo pg_hba.conf.
-
Na etapa Start Feasibility Evaluation, configure as informações da instância source:
Parâmetro
Descrição
Migration task name
Gerado automaticamente. Nenhuma alteração é necessária.
Source VPC IP/DNS
Para origem em instância ECS: insira o IP privado da instância ECS. Para mais informações, consulte Visualizar endereços IP. Para origem em data center local: insira o IP privado do data center.
Source instance port
Porta do banco de dados PostgreSQL autogerenciado. Execute
`netstat -agrep PGSQL` para verificar a porta.
Username
migratetest— a conta de migração criada em Criar uma conta de migração.Password
123456— a senha da conta de migração. -
Clique em Create Feasibility Evaluation Task.
NotaO status da instância muda para Maintaining Instance durante a avaliação.
Após a conclusão da avaliação, verifique o resultado na lista Cloud Migration na aba Feasibility Evaluation:
Successful: Prossiga para a Etapa 2.
Failed: Clique em View Report na coluna Actions e resolva o problema com base na mensagem de erro. Para erros comuns, consulte Interpretar um relatório de avaliação de migração para a nuvem. Após resolver o problema, clique em Re-evaluate para executar a avaliação novamente.

Etapa 2: Migrar para a nuvem
Conclua a Etapa 1 e confirme se o status da avaliação é Successful antes de iniciar esta etapa.
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Localize a instância e clique em Cloud Migration.
No painel de navegação à esquerda, clique em One-Click Cloud Migration/Disaster Recovery. Na aba Create Cloud Migration Task, clique em Create Cloud Migration Task.
-
Na janela Create Cloud Migration Task, selecione a tarefa de avaliação bem-sucedida na lista Associated Evaluation Task.
NotaAo selecionar uma Associated Evaluation Task, os campos Source Database Type, Source IP/DNS, Source Instance Port e Username são preenchidos automaticamente.
-
Clique em Start Cloud Migration.
AvisoO status da instância muda para Migrating Data durante a migração. As operações de leitura e gravação no banco de dados source permanecem disponíveis. Não inicie outra migração, reinicie a instância nem faça upgrade ou downgrade da instância, pois essas operações causam falha na tarefa de migração.
-
Realize a transição:
Na lista de tarefas de migração para a nuvem, clique em link na coluna Cloud Migration Phase para monitorar o progresso.

Quando a migração atingir a fase Incremental Synchronization, clique em Switch To Cloud na coluna Actions. Essa ação promove a instância RDS for PostgreSQL a primária e inicia o atendimento ao tráfego.
-
Na janela Switch To Cloud, defina a instância source como somente leitura ou interrompa as operações de gravação da aplicação.
Para definir a origem como somente leitura:-
Se a origem for uma instância RDS for PostgreSQL:
Use o recurso Definir parâmetros da instância para definir rds_force_trans_ro_non_sup como on.
Execute a seguinte instrução para encerrar todas as sessões existentes: ``
sql SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();``
-
Se a origem for um banco de dados autogerenciado:
-- Set the database to read-only ALTER SYSTEM SET default_transaction_read_only=on; -- Apply the change SELECT pg_reload_conf(); -- Terminate all existing sessions SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
-
Marque todas as caixas de seleção, clique em Switch Now e aguarde a conclusão da migração.
