Visão geral
Antes de optar por migrar seus bancos de dados para o Cloud SQL, considere as limitações conhecidas para esse cenário de migração.
As limitações conhecidas para usar um banco de dados PostgreSQL como fonte incluem:
A extensão
pglogical
não suporta a replicação de colunas geradas para PostgreSQL 12+.As alterações nas estruturas de tabela (DDL) não são replicadas por meio de comandos DDL padrão, mas apenas com comandos executados usando a extensão
pglogical
usada para replicação. Isso inclui alterações nos tiposenum
.Por exemplo,
pglogical
fornece uma funçãopglogical.replicate_ddl_command
que permite que o DDL seja executado no banco de dados de origem e na réplica em um ponto consistente. O usuário que executa esse comando na origem já deve existir na réplica.Para replicar dados para novas tabelas, você deve usar o comando
pglogical.replication_set_add_table
para adicionar as novas tabelas aos conjuntos de replicação existentes.Para saber mais sobre a replicação DDL enquanto a migração está em andamento, consulte a seção sobre fidelidade de migração .
Para tabelas que não têm chaves primárias, o Database Migration Service oferece suporte à migração do instantâneo inicial e das instruções
INSERT
durante a fase de captura de dados de alteração (CDC) . Você deve migrar as instruçõesUPDATE
eDELETE
manualmente.O Database Migration Service não migra dados de visualizações materializadas, apenas o esquema de 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 ser diferentes dos estadosSEQUENCE
de origem.As tabelas
UNLOGGED
eTEMPORARY
não são e não podem ser replicadas.O tipo de dados Objeto Grande não é compatível. Mais detalhes na seção sobre fidelidade migratória .
Somente extensões e linguagens procedurais compatíveis com o Cloud SQL para PostgreSQL podem ser migradas. O Database Migration Service não migra extensões que não são compatíveis com o Cloud SQL. A presença destas extensões não bloqueia a migração, mas para garantir um processo de migração tranquilo, verifique se os seus objetos ou aplicações não fazem referência a extensões não suportadas. Recomendamos remover essas extensões e referências do seu banco de dados de origem antes de continuar.
A extensão
pg_cron
(ou qualquer configuraçãocron
associada à extensão) não é migrada pelo Database Migration Service, mas é compatível com destinos do Cloud SQL para PostgreSQL. Se você usar a extensãopg_cron
nos bancos de dados de origem, poderá reinstalá-la na instância de destino após a conclusão da migração.
O Database Migration Service não dá suporte à migração de réplicas de leitura que estão no modo de recuperação.
O Database Migration Service não oferece suporte a fontes do Amazon RDS onde o pacote de extensão AWS SCT é aplicado.
- As funções definidas pelo usuário escritas em C não podem ser migradas, exceto as funções instaladas no banco de dados PostgreSQL quando você instala extensões compatíveis com o Cloud SQL.
Se existirem outras extensões e linguagens procedurais no banco de dados de origem, ou se suas versões não forem suportadas, quando você testar ou iniciar o trabalho de migração, ele falhará.
Os bancos de dados adicionados após o início do trabalho de migração não são migrados.
- Não é possível selecionar tabelas ou esquemas específicos ao migrar usando o Database Migration Service. O Database Migration Service migra todas as tabelas e esquemas, exceto os seguintes:
- O esquema de informações (
information_schema
). - Quaisquer tabelas que comecem com
pg
, por exemplo,pg_catalog
. Para obter a lista completa de catálogos PostgreSQL que começam compg
, consulte Catálogos do sistema PostgreSQL na documentação do PostgreSQL. - As informações sobre usuários e funções de usuário não são migradas.
- O esquema de informações (
Se os bancos de dados criptografados exigirem chaves de criptografia gerenciadas pelo cliente para descriptografar os bancos de dados e se o Database Migration Service não tiver acesso às chaves, os bancos de dados não poderão ser migrados.
No entanto, se os dados do cliente forem criptografados pela extensão
pgcrypto
, os dados poderão ser migrados com o Database Migration Service (porque o Cloud SQL oferece suporte à extensão).O Database Migration Service também oferece suporte à migração de dados de bancos de dados criptografados do Amazon Aurora ou Amazon RDS porque esses bancos de dados lidam com a descriptografia de forma transparente em seus serviços. Para obter mais informações, consulte Criptografar recursos do Amazon Aurora e Criptografar recursos do Amazon RDS .
O banco de dados Cloud SQL de destino pode ser gravado durante a migração para permitir que alterações de DDL sejam aplicadas, se necessário. Tome cuidado para não fazer alterações na configuração do banco de dados ou nas estruturas das tabelas que possam interromper o processo de migração ou afetar a integridade dos dados.
O comportamento do gatilho depende de como eles foram configurados. O comportamento padrão é que eles não serão acionados, mas se tiverem sido configurados usando a instrução
ALTER EVENT TRIGGER
ouALTER TABLE
e o estado do acionador estiver definido como réplica ou sempre, eles serão acionados na réplica durante a replicação.As funções com definidor de segurança serão criadas por
cloudsqlexternalsync
na réplica do Cloud SQL. Quando for executado por qualquer usuário, será executado com os privilégios decloudsqlexternalsync
que possui funçõescloudsqlsuperuser
ecloudsqlreplica
. É melhor restringir o uso de uma função de definidor de segurança apenas a alguns usuários. Para fazer isso, o usuário deve revogar os privilégios PUBLIC padrão e então conceder o privilégio de execução seletivamente.O Cloud SQL não é compatível com tablespaces personalizados. Todos os dados dentro de tablespaces personalizados são migrados para o tablespace
pg_default
na instância de destino do Cloud SQL.
Limitações para migrações para instâncias de destino existentes
- Sua instância de destino existente deve estar vazia ou conter apenas dados de configuração do sistema. A migração para instâncias de destino existentes que contêm dados do usuário (como tabelas) não é compatível.
Se você encontrar problemas devido a dados extras na sua instância de destino existente, limpe os bancos de dados na sua instância de destino e tente novamente o trabalho de migração. Consulte Limpar dados extras da sua instância de destino existente .
- Você pode configurar apenas um trabalho de migração por instância de destino.
- Só é possível migrar para instâncias autônomas do Cloud SQL. A migração para réplicas de servidores externos não é suportada.
- A migração de dados para uma instância do Cloud SQL com o Private Service Connect ativado não é compatível.
- Depois de promover uma instância, você deverá ativar a recuperação pontual .
- Se sua instância tiver configurações de backup personalizadas (por exemplo, um local de backup personalizado ), depois de promover a instância, você deverá personalizar suas configurações de backup novamente. Durante o processo de promoção, o Cloud SQL redefine as configurações de backup para os valores padrão.
- Para usuários do Terraform : o Database Migration Service modifica as configurações de backup e recuperação da sua instância de destino. Isso pode fazer com que as configurações da instância de destino sejam diferentes da configuração do Terraform usada para provisionamento. Se você tiver esse problema, siga as orientações em Diagnosticar problemas .
Cotas
- Podem existir até 2.000 perfis de conexão e 1.000 trabalhos de migração a qualquer momento. Para criar espaço para mais, os trabalhos de migração (incluindo os concluídos) e os perfis de conexão podem ser excluídos.
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.