Usar o utilitário de carregamento de dados do Aurora PostgreSQL Limitless Database
O Aurora fornece um utilitário para carregar dados diretamente no Limitless Database a partir de um cluster de banco de dados do Aurora PostgreSQL ou de uma instância de banco de dados do RDS para PostgreSQL.
Execute as seguintes etapas para usar o utilitário de carregamento de dados:
Limitações
O utilitário de carregamento de dados tem as seguintes limitações:
-
Os seguintes tipos de dados não são compatíveis:
enum
,ARRAY
,BOX
,CIRCLE
,LINE
,LSEG
,PATH
,PG_LSN
,PG_SNAPSHOT
,POLYGON
,TSQUERY
,TSVECTOR
eTXID_SNAPSHOT
. -
Os zeros à esquerda (
0
) são removidos do tipo de dadosVARBIT
durante o carregamento. -
A migração de dados falha quando há chaves primárias compostas nas tabelas de origem.
-
A migração de dados falha quando há chaves estrangeiras nas tabelas de destino.
-
O carregamento de dados de clusters de banco de dados multi-AZ do RDS para PostgreSQL não é compatível.
Pré-requisitos
O utilitário de carregamento de dados tem os seguintes pré-requisitos:
-
O banco de dados de origem usa o Aurora PostgreSQL ou o RDS para PostgreSQL versão 11.x e superior.
-
O banco de dados de origem está na mesma Conta da AWS e Região da AWS que o grupo de fragmentos de banco de dados de destino.
-
O cluster de banco de dados ou a instância de banco de dados de origem está no estado
available
. -
As tabelas no banco de dados de origem e no banco de dados ilimitado têm os mesmos nomes de tabela, nomes de colunas e tipos de dados de coluna.
-
As tabelas de origem e destino têm chaves primárias que usam as mesmas colunas e ordens de colunas.
-
Você deve ter um ambiente para se conectar a um banco de dados ilimitado para executar comandos de carregamento de dados. Os comandos disponíveis são os seguintes:
-
rds_aurora.limitless_data_load_start
-
rds_aurora.limitless_data_load_cancel
-
-
Para CDC:
-
Tanto o banco de dados de origem quanto o grupo de fragmentos de banco de dados de destino devem usar o mesmo grupo de sub-rede de banco de dados, grupo de segurança de VPC e porta de banco de dados. Essas configurações são para conexões de rede com o banco de dados de origem e os roteadores no grupo de fragmentos de banco de dados.
-
Você deve habilitar a replicação lógica no banco de dados de origem. O usuário do banco de dados de origem deve ter privilégios para ler a replicação lógica.
-
Preparar o banco de dados de origem
Para acessar o banco de dados de origem para carregamento de dados, você deve permitir o tráfego de rede de entrada para ele. Siga as etapas a seguir.
Como permitir o tráfego de rede para o banco de dados de origem
Faça login no AWS Management Console e abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Navegue até a página Grupos de segurança.
-
Escolha o ID do grupo de segurança usado pelo cluster ou instância de banco de dados de origem.
Por exemplo, o ID do grupo de segurança é
sg-056a84f1712b77926
. -
Na guia Regras de entrada:
-
Escolha Editar regras de entrada.
-
Adicione uma nova regra de entrada para o cluster ou instância de banco de dados de origem:
-
Intervalo de portas: porta de banco de dados para o banco de dados de origem, geralmente
5432
-
ID do grupo de segurança:
sg-056a84f1712b77926
neste exemplo
-
-
-
Na guia Regras de saída:
-
Escolha Editar regras de saída.
-
Adicione uma nova regra de saída para o cluster ou instância de banco de dados de origem:
-
Porta do banco de dados:
All traffic
(inclui portas0-65535
) -
ID do grupo de segurança:
sg-056a84f1712b77926
neste exemplo
-
-
Faça login no AWS Management Console e abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/
. -
Navegue até a página ACLs de rede.
-
Adicione a configuração padrão da ACL de rede conforme descrito em ACL de rede padrão.
Preparar o banco de dados de destino
Siga os procedimentos em Criação de tabelas do Aurora PostgreSQL Limitless Database para criar as tabelas de destino no grupo de fragmentos de banco de dados.
Suas tabelas de destino devem ter os mesmos esquemas, nomes de tabela e chaves primárias das tabelas de origem.
Criar as credenciais do banco de dados
É necessário criar usuários de banco de dados nos bancos de dados de origem e destino e conceder os privilégios necessários aos usuários. Para obter mais informações, consulte CREATE USER
Criar as credenciais do banco de dados de origem
O usuário do banco de dados de origem é passado no comando para iniciar o carregamento. Esse usuário deve ter privilégios para executar a replicação do banco de dados de origem.
-
Use o usuário principal do banco de dados (ou outro usuário com a função
rds_superuser
) para criar um usuário do banco de dados de origem com privilégiosLOGIN
.CREATE USER
source_db_username
WITH PASSWORD 'source_db_user_password
'; -
Conceda a função
rds_superuser
ao usuário do banco de dados de origem.GRANT rds_superuser to
source_db_username
; -
Se você estiver usando o modo
full_load_and_cdc
, conceda a funçãords_replication
ao usuário do banco de dados de origem. O perfilrds_replication
concede permissões para gerenciar slots lógicos e transmitir dados utilizando slots lógicos.GRANT rds_replication to
source_db_username
;
Criar as credenciais do banco de dados de destino
O usuário do banco de dados de destino deve ter permissão para gravar nas tabelas de destino no grupo de fragmentos de banco de dados.
-
Use o usuário principal do banco de dados (ou outro usuário com a função
rds_superuser
) para criar um usuário do banco de dados de destino com privilégiosLOGIN
.CREATE USER
destination_db_username
WITH PASSWORD 'destination_db_user_password
'; -
Conceda a função
rds_superuser
ao usuário do banco de dados de destino.GRANT rds_superuser to
destination_db_username
;