Configurar o banco de dados de destino do Cloud SQL para PostgreSQL

Visão geral

O Database Migration Service oferece suporte a migrações contínuas de bancos de dados de origem para bancos de dados de destino do Cloud SQL.

Os bancos de dados de destino suportados pelo Cloud SQL para PostgreSQL incluem as seguintes versões:

  • Cloud SQL para PostgreSQL 12, 13, 14 e 15.

Configurar o banco de dados de destino do Cloud SQL para PostgreSQL

Antes de usar o Database Migration Service para migrar dados para o banco de dados de destino, configure o banco de dados:

  • Como criar uma instância. Recomendamos um tipo de máquina que tenha pelo menos uma CPU com dois núcleos. Por exemplo, se o nome da máquina for db-custom e ela tiver duas CPUs e 3.840 MB de RAM, o formato do nome do tipo de máquina será db-custom-2-3840.
  • Se você se conectar à instância de destino usando um endereço IP público, o Database Migration Service vai usar o proxy do Cloud SQL Auth para se conectar a ela. Isso requer o seguinte:
    • A instância precisa ter um endereço IPv4 público.
    • O endereço IP público não precisa estar acessível para nenhum endereço externo (ele não precisa ser adicionado como um endereço de rede autorizado).
  • Se você se conectar à instância de destino usando um endereço IP particular, o Database Migration Service usará o Private Service Connect para se conectar a ela. Para mais informações, consulte Configurar o Private Service Connect para uma instância de destino.
  • Criar uma conta de usuário e um banco de dados na instância com o mesmo nome. Por exemplo, se você estiver usando o Database Migration Service para migrar dados para o banco de dados myapp, o nome da conta de usuário também precisa ser myapp.

  • Definir as seguintes permissões para o usuário no banco de dados:
    • CREATE SCHEMA
    • CREATE TABLE
    • CREATE DATABASE
    • SELECT
    • INSERT
    • UPDATE
    • DELETE
    • TRUNCATE (para todas as tabelas)
  • (Para bancos de dados que contêm chaves externas ou gatilhos) Ignore as chaves externas e os gatilhos usando a opção REPLICATION com a conta de usuário da migração. Execute este comando:
        ALTER USER MIGRATION_USER_NAME WITH replication;
        
    Para mais informações sobre como as chaves externas e os gatilhos são migrados, consulte Considerações sobre chaves externas e gatilhos.

Considerações sobre chaves externas e acionadores

Chaves externas e gatilhos presentes no banco de dados de origem podem causar problemas de integridade de dados ou até mesmo falhar na migração. É possível evitar esses problemas se você pular chaves externas e gatilhos usando a opção REPLICATION para o usuário da migração. Como alternativa, você também pode excluir todas as chaves externas e gatilhos no banco de dados de destino e criar novamente quando a migração for concluída.

Gatilhos
Os dados replicados pelo Database Migration Service já incorporam todas as mudanças feitas por acionadores no banco de dados de origem. Se os gatilhos estiverem ativados no destino, eles poderão ser acionados novamente e manipular dados, resultando em problemas de integridade ou duplicação.
Chaves estrangeiras
O Database Migration Service não replica dados de forma transacional. Portanto, as tabelas podem ser migradas fora de ordem. Se as chaves estrangeiras estiverem presentes e uma tabela filha que usa uma chave externa for migrada antes da mãe, você poderá encontrar erros de replicação.