Миграция с EC2 на GCP как перенести PostgreSQL базу без даунтайма

Рейтинг: 77.4% · 28 голосов
AWS, Google Cloud Platform, Microsoft Azure, Cloudflare, Hetzner: облачные сервисы, архитектура, serverless, стоимость и миграция в облако.
Ответить
Аватара пользователя
syscloud4122
Сообщения: 3
Зарегистрирован: Пн май 11, 2026 4:45 pm

Миграция с EC2 на GCP как перенести PostgreSQL базу без даунтайма

Сообщение syscloud4122 »

Нужно перенести production PostgreSQL 15 с AWS EC2 (eu-west-1) на GCP Cloud SQL (europe-west3). База ~200 ГБ, около 500 транзакций в секунду в пике. Даунтайм критичен — максимум 5 минут. Читал про pglogical и AWS DMS, но с DMS были какие-то проблемы с расширениями. Кто делал такое, поделитесь реальным опытом и подводными камнями?
👍2 ❤️1 🔥2 😄2 🤔
✔ Лучший ответ сформирован автоматически — gamedev_petr
Делал аналогичную миграцию полгода назад, правда база была 80 ГБ. Использовал связку pg_dump с --no-owner + pglogical для репликации после начального слива. Главный подводный камень — pglogical требует wal_level=logical на источнике, и нужно добавить REPLICA IDENTITY FULL для таблиц без primary key, иначе UPDATE/DELETE не реплицируются. Также все расширения нужно заранее установить на Cloud SQL и…
Перейти к ответу →
Аватара пользователя
gamedev_petr
Сообщения: 1
Зарегистрирован: Вт май 26, 2026 11:36 pm
Репутация: 174

Re: Миграция с EC2 на GCP как перенести PostgreSQL базу без даунтайма

Сообщение gamedev_petr »

✔ Лучший ответ — сформирован автоматически
Делал аналогичную миграцию полгода назад, правда база была 80 ГБ. Использовал связку pg_dump с --no-owner + pglogical для репликации после начального слива. Главный подводный камень — pglogical требует wal_level=logical на источнике, и нужно добавить REPLICA IDENTITY FULL для таблиц без primary key, иначе UPDATE/DELETE не реплицируются. Также все расширения нужно заранее установить на Cloud SQL и проверить их совместимость.
👍3 ❤️ 🔥 😄 🤔
Кто не бэкапит — тот плачет.
Аватара пользователя
ksenia_dns
Сообщения: 16
Зарегистрирован: Пн май 11, 2026 9:23 pm

Re: Миграция с EC2 на GCP как перенести PostgreSQL базу без даунтайма

Сообщение ksenia_dns »

AWS DMS с PostgreSQL в режиме CDC реально работает, но есть нюансы: он плохо справляется с DDL-изменениями во время миграции, и если у тебя есть таблицы с JSONB и сложными типами — могут быть проблемы с конвертацией. Для твоего объёма я бы посмотрел на pgcopydb — он делает параллельный dump/restore и работает быстрее стандартного pg_dump в 3-5 раз.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
bitbyte5371
Сообщения: 10
Зарегистрирован: Вс май 10, 2026 11:34 pm

Re: Миграция с EC2 на GCP как перенести PostgreSQL базу без даунтайма

Сообщение bitbyte5371 »

200 ГБ и 5 минут даунтайма — это реально, но требует правильной подготовки. Схема: 1) настраиваешь logical replication за несколько дней до X, 2) даёшь репликации догнать лаг (должен быть < 1 секунды в steady state), 3) в момент переключения останавливаешь запись на старой БД, ждёшь 0 лага, меняешь connection string в приложении. На GCP Cloud SQL нужно убедиться, что включён флаг cloudsql.logical_decoding и alloydbadmin может создавать слоты.
👍1 ❤️1 🔥1 😄1 🤔1
Аватара пользователя
netml2559
Сообщения: 4
Зарегистрирован: Пн май 25, 2026 9:13 am

Re: Миграция с EC2 на GCP как перенести PostgreSQL базу без даунтайма

Сообщение netml2559 »

Не забудь про sequences — pg_dump их включает, но если во время репликации были вставки, sequence на новой базе может отстать. После переключения сразу проверь SELECT last_value FROM your_sequence и при необходимости выполни SELECT setval. Также проверь timezone настройки на Cloud SQL, по дефолту там UTC, а у вас на EC2 может быть другой.
👍2 ❤️ 🔥 😄 🤔
Аватара пользователя
misha6662
Сообщения: 1
Зарегистрирован: Сб май 23, 2026 2:36 am

Re: Миграция с EC2 на GCP как перенести PostgreSQL базу без даунтайма

Сообщение misha6662 »

Для верификации после переключения советую заранее написать скрипт, который считает COUNT(*) и MAX(id) по ключевым таблицам на обоих серверах и сравнивает. Запускай его сразу после переключения, пока ещё можно откатиться. Ещё важный момент — DNS TTL: поставь 60 секунд за сутки до миграции, чтобы клиенты быстро подхватили новый адрес.
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость