- O que é o Serviço de Migração de Banco de Dados?
- Quais fontes são suportadas?
- Quais destinos são suportados?
- Há suporte entre versões?
- Quais componentes de dados, esquemas e metadados são migrados?
- Quais mudanças são replicadas durante a migração contínua?
- O que não é migrado?
- Quais métodos de rede são usados?
- Quais são as limitações conhecidas?
- O que é o Serviço de Migração de Banco de Dados?
- O Database Migration Service é um serviço que facilita a migração de seus dados para Google CloudO Database Migration Service ajuda você a migrar suas cargas de trabalho do PostgreSQL para o Cloud SQL.
- Quais fontes são suportadas?
- Amazon RDS 9.6.10+, 10.5+, 11.1+, 12, 13, 14, 15, 16, 17.
- Amazon Aurora 10.11+, 11.6+, 12.4+, 13.3+, 14.6+, 15.2+, 16, 17.
- PostgreSQL autogerenciado (no local ou em qualquer VM na nuvem que você controle totalmente) 9.4, 9.5, 9.6, 10, 11, 12, 13, 14, 15, 16, 17.
- Cloud SQL para PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17.
- Servidor Flexível do Banco de Dados Microsoft Azure para PostgreSQL: 11+
- Quais destinos são suportados?
- Cloud SQL para PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17.
- Há suporte entre versões?
- O Database Migration Service oferece suporte a migrações do PostgreSQL para o Cloud SQL em qualquer versão principal, onde o destino é a mesma versão ou uma versão superior à do banco de dados de origem.
- Quais componentes de dados, esquemas e metadados são migrados?
- O Serviço de Migração de Banco de Dados migra esquemas, dados e metadados da origem para o destino. Todos os seguintes componentes de dados, esquemas e metadados são migrados como parte da migração do banco de dados: Migração de dados
- Todos os esquemas e todas as tabelas do banco de dados selecionado.
- Nomeação
- Chave primária
- Tipo de dados
- Posição ordinal
- Valor padrão
- Nulidade
- Atributos de incremento automático
- Índices secundários
- Procedimentos armazenados
- Funções
- Gatilhos
- Visualizações
- Restrições de chave estrangeira
- Quais mudanças são replicadas durante a migração contínua?
- Somente as alterações de DML são atualizadas automaticamente durante a migração. Gerenciar o DDL para que os bancos de dados de origem e destino permaneçam compatíveis é responsabilidade do usuário e pode ser feito de duas maneiras:
- Interrompa as gravações na origem e execute os comandos DDL na origem e no destino. Antes de executar os comandos DDL no destino, conceda a função
cloudsqlexternalsync
ao usuário do Cloud SQL que está aplicando as alterações de DDL. Para habilitar a consulta ou a alteração dos dados, conceda a funçãocloudsqlexternalsync
aos usuários relevantes do Cloud SQL. Use o comando
pglogical.replicate_ddl_command
para executar o DDL na origem e no destino em um ponto consistente. O usuário que executa este comando deve ter o mesmo nome de usuário na origem e no destino e deve ser o superusuário ou o proprietário do artefato que está sendo migrado (por exemplo, a tabela, sequência, visualização ou banco de dados).Aqui estão alguns exemplos de uso do
pglogical.replicate_ddl_command
.Para adicionar uma coluna a uma tabela de banco de dados, execute o seguinte comando:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] add column surname varchar(20)', '{default}');
Para alterar o nome de uma tabela de banco de dados, execute o seguinte comando:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] RENAME TO [table_name] ','{default}');
Para criar uma tabela de banco de dados, execute os seguintes comandos:
-
select pglogical.replicate_ddl_command(command := 'CREATE TABLE [schema].[table] (id INTEGER PRIMARY KEY, name VARCHAR);', replication_sets := ARRAY['default'']);
-
select pglogical.replication_set_add_table('default', ' [schema].[table] ');
-
- Interrompa as gravações na origem e execute os comandos DDL na origem e no destino. Antes de executar os comandos DDL no destino, conceda a função
- O que não é migrado?
Para adicionar usuários à instância de destino do Cloud SQL, navegue até a instância e adicione usuários na aba Usuários ou adicione-os pelo cliente PostgreSQL. Saiba mais sobre como criar e gerenciar usuários do PostgreSQL .
Objetos grandes não podem ser replicados porque o recurso de decodificação lógica do PostgreSQL não suporta alterações de decodificação em objetos grandes. Para tabelas com o tipo de coluna oid referenciando objetos grandes, as linhas ainda são sincronizadas e novas linhas são replicadas. No entanto, ao tentar acessar o objeto grande no banco de dados de destino (ler usando lo_get , exportar usando lo_export ou verificar o catálogo
pg_largeobject
para o oid fornecido), ocorre uma falha, com uma mensagem informando que o objeto grande não existe.Para tabelas sem chaves primárias, o Serviço de Migração de Banco de Dados oferece suporte à migração do snapshot inicial e das instruções
INSERT
durante a fase de captura de dados alterados (CDC) . Você deve migrar as instruçõesUPDATE
eDELETE
manualmente.O Serviço de Migração de Banco de Dados não migra dados de visualizações materializadas, apenas o esquema da visualização. Para preencher as visualizações, execute o seguinte comando:
REFRESH MATERIALIZED VIEW view_name
.Os estados
SEQUENCE
(por exemplo,last_value
) no novo destino do Cloud SQL podem variar dos estadosSEQUENCE
de origem.- Quais métodos de rede são usados?
- Para criar uma migração no Database Migration Service, é necessário estabelecer conectividade entre a instância de origem e a instância de destino do Cloud SQL. Há diversos métodos compatíveis. Escolha o mais adequado para a carga de trabalho específica.
Método de rede Descrição Prós Contras Lista de permissões de IP Funciona configurando o servidor de banco de dados de origem para aceitar conexões do IP público da instância do Cloud SQL. Se você escolher esse método, o Serviço de Migração de Banco de Dados o guiará pelo processo de configuração durante a criação da migração. - Fácil de configurar.
- Recomendado para cenários de migração de curta duração (POC ou pequenas migrações de bancos de dados).
- A configuração do firewall pode exigir assistência de TI.
- Expõe o banco de dados de origem a um IP público.
- A conexão não é criptografada por padrão. É necessário habilitar o SSL no banco de dados de origem para criptografar a conexão.
Túnel SSH reverso por meio de VM hospedada na nuvem Estabelece a conectividade do destino à origem por meio de um túnel SSH reverso seguro. Requer uma VM de host bastião no Google Cloud projeto e uma máquina (por exemplo, um laptop na rede) que tenha conectividade com a fonte. O Database Migration Service coleta as informações necessárias no momento da criação da migração e gera automaticamente o script para configurá-la. - Fácil de configurar.
- Não requer nenhuma configuração de firewall personalizada.
- Recomendado para cenários de migração de curta duração (POC ou pequenas migrações de bancos de dados).
- Você possui e gerencia a Bastion VM.
- Pode incorrer em custos adicionais.
Peering de VPC Este método funciona configurando as VPCs para se comunicarem entre si. Isso só é aplicável se a origem e o destino estiverem hospedados em Google Cloud. Recomendado para migrações de longa duração ou de alto volume. - Google Cloud solução.
- Fácil de configurar.
- Alta largura de banda
Disponível somente quando a fonte está hospedada em Google Cloud. VPN Configura um túnel VPN IPSec conectando a rede interna e Google Cloud VPC por meio de uma conexão segura pela Internet pública. Use Google Cloud VPN ou qualquer solução VPN configurada para a rede interna. - Solução de conectividade robusta e escalável.
- Largura de banda média-alta.
- Segurança integrada.
- Oferecido como Google Cloud soluções ou de terceiros.
- Custo adicional.
- Configuração não trivial (a menos que já esteja em vigor).
Interconexão de nuvem Utiliza uma conexão de alta disponibilidade e baixa latência entre a rede local e Google Cloud. Maior largura de banda, ideal para migrações de alto volume e longa duração. - Custo adicional.
- A conexão não é segura por padrão.
- Configuração não trivial (a menos que já esteja em vigor).
- Quais são as limitações conhecidas?
- Veja Limitações conhecidas .
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-05-15 UTC.