PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Последователност от първичен ключ на PostgreSQL, загубена след мигриране с помощта на AWS DMS

След като @a_horse_with_no_name ме насочи в правилната посока и разговарях с AWS, мога да отговоря на собствения си въпрос, поне ако използвате AWS Database Migration Service (DMS).

Проблемът е, че DMS се фокусира само върху самите данни, а не върху схемата (което ми изглежда като голям пропуск, особено ако използвате същата технология за база данни, но това е друг проблем). Така че самата схема не е мигрирана. Документацията всъщност не изяснява това.

За да коригирате този проблем:

  1. Спрете (ако все още съществува) съществуващата миграция на AWS DMS
  2. Премахнете съществуващата мигрирана база данни и създайте нова празна схема за използване
  3. Следвайте стъпките тук https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html за инсталиране и настройка на Amazon Schema Conversation Tool (SCT)
  4. След като се свържете с двете бази данни, следвайте стъпките тук https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html за да „конвертирате“ вашата схема (направих цялата „публична“ схема за тази база данни, за да гарантирам, че всичко е покрито
  5. Създайте или модифицирайте своята миграция на AWS DMS, като осигурите режим на подготовка на целевата таблица =„TRUNCATE“ и деактивирайте външни ключове в целевата база данни. Ако модифицирате, уверете се, че когато бъдете попитани „РЕСТАРТИРАЙТЕ“, не възобновете

Това, което все още не съм тествал, е как да се справя с факта, че мигрирам жива база данни. Така че последователностите може да са остарели в целевата база данни, когато миграцията е извършена. Вярвам, че по-късно мога да отида в SCT и само да мигрирам последователностите, но все още не съм тествал това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Atomic UPDATE .. SELECT в Postgres

  2. Как да избягам от единични кавички в заявка на командния ред на psql?

  3. Добавете колона за автоматично нарастване към съществуваща таблица, подредена по дата

  4. Не може да се зареди JDBC драйвер клас "com.postgresql.jdbc.Driver"

  5. PG::SyntaxError за rails приложение