PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Sequência de chave primária do PostgreSQL perdida após a migração usando o AWS DMS


Depois que @a_horse_with_no_name me indicou a direção certa e conversando com a AWS, posso responder minha própria pergunta, pelo menos se você estiver usando o AWS Database Migration Service (DMS).

O problema é que o DMS se concentra apenas nos dados em si e não realmente no esquema (o que para mim parece um grande descuido, especialmente se você estiver usando a mesma tecnologia de banco de dados, mas isso é outro problema). Portanto, o esquema em si não é migrado. A documentação realmente não deixa isso claro.

Para corrigir esse problema:
  1. Parar (se ainda existir) a migração existente do AWS DMS
  2. Elimine o banco de dados migrado existente e crie um novo esquema vazio para usar
  3. Siga as etapas aqui https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html para instalar e configurar o Amazon Schema Conversation Tool (SCT)
  4. Depois de estar conectado aos dois bancos de dados, siga as etapas aqui https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html para "converter" seu esquema (eu fiz todo o esquema "público" para este banco de dados para garantir que tudo seja coberto
  5. Crie ou modifique sua migração do AWS DMS, garantindo o modo de preparação da tabela de destino ="TRUNCATE" e desative as chaves estrangeiras no banco de dados de destino. Se estiver modificando, certifique-se de que, quando solicitado, "REINICIA" não continue

O que ainda não testei é como lidar com o fato de estar migrando um banco de dados ativo. Portanto, as sequências podem estar desatualizadas no banco de dados de destino quando a migração for concluída. Acredito que posso mais tarde entrar no SCT e apenas migrar as sequências, mas ainda não testei isso.