Para migrar dados de uma instância PostgreSQL autogerenciada para o ApsaraDB RDS for PostgreSQL, crie uma conta de banco de dados dedicada com privilégios de replicação na instância source. Essa conta permite que o recurso de migração cloud transmita dados da sua instância autogerenciada.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância PostgreSQL autogerenciada implantada em uma instância Elastic Compute Service (ECS) ou em um data center
Acesso administrativo à instância PostgreSQL autogerenciada (superusuário ou uma função com o privilégio
CREATEROLE)Uma instância ApsaraDB RDS for PostgreSQL como destino da migração
Procedimento
A conta de migração requer três permissões: CREATEROLE, REPLICATION e associação à função pg_monitor.
Se já existir uma conta com essas permissões na instância PostgreSQL autogerenciada, ignore este procedimento e acesse Update the pg_hba.conf file of a self-managed PostgreSQL instance .
-
Conecte-se à instância PostgreSQL autogerenciada e execute o seguinte comando SQL para criar a conta de migração:
CREATE USER migratetest CREATEROLE REPLICATION LOGIN PASSWORD '123456';Observação: Substitua
123456por uma senha forte e exclusiva. Não utilize a senha de exemplo em ambientes de produção.Parâmetro
Descrição
migratetestNome da conta. Substitua pelo nome de sua preferência.
CREATEROLEConcede a capacidade de crie e gerencie funções, necessária para o processo de migração.
REPLICATIONHabilita o streaming WAL (Write-Ahead Logging) para replicação de dados.
LOGINPermite que a conta estabeleça conexões.
PASSWORDDefine a senha de login da conta.
-
Conceda a função
pg_monitorà conta de migração:GRANT pg_monitor TO migratetest;A função
pg_monitorfornece acesso de leitura às views e funções de monitoramento usadas para acompanhar a atividade do servidor de banco de dados, incluindo o progresso da replicação. -
Verifique se a conta foi criada com as permissões corretas:
SELECT rolname, rolcreaterole, rolreplication FROM pg_roles WHERE rolname = 'migratetest';Saída esperada:
rolname | rolcreaterole | rolreplication -------------+---------------+---------------- migratetest | t | tPara verificar a associação ao
pg_monitor:SELECT pg_has_role('migratetest', 'pg_monitor', 'member');Saída esperada:
pg_has_role ------------- t
Próximas etapas
Update the pg_hba.conf file of a self-managed PostgreSQL instance