Para mover dados do ApsaraDB RDS for PostgreSQL — por exemplo, ao desativar uma instância, arquivar dados ou sincronizar com um ambiente de desenvolvimento —, baixe um backup de snapshot como arquivo CSV ou SQL e restaure-o em uma instância PostgreSQL autogerenciada com o script Python fornecido.
Escolha um método de restauração
Antes de começar, confirme se este método é adequado à sua situação:
|
Método |
Mais indicado para |
Guia |
|
Arquivo CSV ou SQL (este guia) |
Restauração completa de snapshot a partir de uma instância com disco em nuvem |
Esta página |
|
Backup lógico com pg_restore |
Restauração parcial, como uma única tabela |
|
|
Data Transmission Service (DTS) |
Sincronização contínua com mínimo esforço manual |
Para obter uma visão geral completa de todas as opções de restauração, consulte Visão geral dos métodos de restauração de dados.
Pré-requisitos
Antes de iniciar, certifique-se de que:
Sua instância RDS utiliza discos em nuvem. Este método aplica-se apenas a instâncias com disco em nuvem.
-
O Python 3 está instalado na máquina de destino:
python3 --version A instância PostgreSQL autogerenciada de destino não contém um banco de dados com o mesmo nome do banco importado. Caso exista, a importação falhará. Exclua ou renomeie o banco de dados conflitante antes de prosseguir.
Os passos abaixo usam um ambiente CentOS 7.8 de 64 bits como exemplo. Se o seu sistema operacional for diferente, use os comandos equivalentes para o seu sistema.
Restaure os dados a partir de um arquivo de backup
Faça login no console do ApsaraDB RDS e baixe o arquivo de backup da sua instância como arquivo CSV ou SQL. Para obter instruções, consulte Baixar arquivos de backup.
-
Descompacte o pacote baixado:
tar -zxvf <package-name>.tar.gz -C <target-directory>Por exemplo, para descompactar
backup.tar.gzem/home/ecs-test-user:tar -zxvf backup.tar.gz -C /home/ecs-test-user -
(Opcional) Confirme se os arquivos foram extraídos para o diretório de destino:
ls -al /home/ecs-test-user Baixe o script Python para PostgreSQL (
restore_from_downloads.py) na mesma máquina.-
Conceda permissão de execução ao script:
chmod +x ./restore_from_downloads.py -
Execute o script para restaurar os dados na instância PostgreSQL autogerenciada:
Parâmetro
Descrição
Exemplo
<data-directory>Diretório que contém os arquivos CSV ou SQL extraídos
/home/ecs-test-user<host>Endereço do host da instância PostgreSQL autogerenciada
127.0.0.1<port>Número da porta
5432<username>Nome de usuário da conta do banco de dados. Se contiver caracteres especiais, como
#ou espaços, coloque-o entre aspas duplas (").postgres<password>Senha da conta do banco de dados. Se contiver caracteres especiais, como
#ou espaços, coloque-a entre aspas duplas (")."#Tes********"python3 restore_from_downloads.py <data-directory> <host> <port> <username> <password>Exemplo:
python3 restore_from_downloads.py /home/ecs-test-user 127.0.0.1 5432 postgres "#Tes********"