Миграция в Managed Postgres с помощью ClickPipes
Теперь в ClickHouse Cloud доступны ClickPipes для миграции внешней базы данных PostgreSQL в сервис Managed Postgres. Эта встроенная интеграция упрощает подключение к исходной базе данных, экспорт схемы, импорт в Managed Postgres и настройку непрерывной репликации.
Предварительные требования
- Доступ к исходной базе данных PostgreSQL с пользователем, имеющим права на репликацию. Следуйте руководству по настройке для вашего источника:
- Amazon RDS Postgres
- Amazon Aurora Postgres
- Supabase Postgres
- Google Cloud SQL Postgres
- Azure Flexible Server for Postgres
- Neon Postgres
- Crunchy Bridge Postgres
- TimescaleDB
- Универсальный источник Postgres для любого другого провайдера или самостоятельно размещённого экземпляра
- Сервис ClickHouse Managed Postgres в качестве цели миграции. Если у вас его ещё нет, см. краткое руководство.
- На локальной машине должны быть установлены
pg_dumpиpsql. Оба входят в стандартный набор клиентских инструментов PostgreSQL.
Что нужно учесть перед миграцией
- Распространение DDL: непрерывная репликация (CDC) фиксирует операции DML и
ADD COLUMN. Другие изменения DDL, такие какDROP COLUMNиALTER COLUMN, не передаются и их нужно применять вручную в целевой базе данных.
Если во время миграции возникнут проблемы, проверьте FAQ по миграциям Managed Postgres — там собраны распространённые ошибки и способы их устранения.
Шаг 1: Подключитесь к исходной базе данных
Откройте консоль ClickHouse Cloud и выберите свой сервис Managed Postgres.

На левой боковой панели нажмите Источники данных.

Нажмите Start import.

Заполните параметры подключения к исходной базе данных PostgreSQL: host, port, username, password и имя базы данных. Включите TLS, если это требуется для исходной базы данных.
Если вам требуется приватное подключение к исходной базе данных, вы можете выбрать SSH tunneling и указать необходимые параметры SSH. Это позволит миграции безопасно подключаться к базам данных, которые недоступны из публичной сети.
Выберите метод ингестии:
- Первоначальная загрузка + CDC — копирует существующие данные, а затем поддерживает синхронизацию целевой системы с последующими изменениями.
- Только первоначальная загрузка — разовое копирование без дальнейшей репликации.
- Только CDC — пропускает первоначальное копирование и реплицирует только новые изменения, начиная с этого момента.

Нажмите Next.
Шаг 2: Экспортируйте схему базы данных
Мастер покажет команду pg_dump, уже заполненную данными вашего исходного подключения. Выполните её в терминале:

В текущем каталоге будет создан файл pg.sql.

Нажмите Далее.
Шаг 3: Импортируйте схему в сервис Managed Postgres
Выберите целевую базу данных в раскрывающемся списке или нажмите Create a new database, чтобы создать новую.
Мастер покажет команду psql для применения дампа схемы к сервису Managed Postgres. Выполните её в терминале:


Нажмите Next.
Шаг 4: Настройка параметров ингестии
Укажите публикацию для логической репликации. Если оставить это поле пустым, публикация будет создана автоматически.
Разверните Расширенные параметры репликации, чтобы настроить пропускную способность:
| Параметр | По умолчанию | Описание |
|---|---|---|
| Интервал синхронизации (секунды) | 10 | Как часто опрашивается слот репликации |
| Параллельные потоки для первоначальной загрузки | 4 | Количество потоков для этапа пакетной загрузки |
| Размер батча при выборке | 100,000 | Число строк, получаемых за один батч репликации |
| Количество строк в снимке на партицию | 100000 | Размер партиции для снимков больших таблиц |
| Количество таблиц в снимке параллельно | 1 | Число таблиц, для которых одновременно создаются снимки |

Нажмите Next.
Шаг 5: Выберите таблицы
Выберите таблицы, которые хотите реплицировать. Таблицы сгруппированы по схемам. Выберите отдельные таблицы или разверните схему, чтобы выбрать все таблицы в ней.

Нажмите Создать миграцию.
Мониторинг миграции
После создания миграции она появится в разделе Источники данных со статусом Выполняется.

Нажмите на миграцию, чтобы открыть подробное представление. На вкладке Таблицы отображается ход первоначальной загрузки для каждой таблицы, включая количество обработанных строк, партиции и среднее время на партицию. На вкладке Метрики после запуска CDC отображаются задержка репликации и пропускная способность.

Действия после миграции
После завершения первоначальной загрузки и, если используется CDC, когда отставание репликации близко к нулю:
Проверьте количество строк. Выборочно проверьте критически важные таблицы в исходной и целевой системах перед переключением трафика:
Остановите запись в исходной системе. Приостановите запись со стороны приложения. Чтобы перевести систему в режим только для чтения на время переключения:
Убедитесь, что репликация завершена. Сравните последнюю строку в исходном и целевом экземплярах:
Сбросьте последовательности. Синхронизируйте последовательности с текущими максимальными значениями в каждой таблице:
Переключите трафик приложения. Перенаправьте операции чтения и записи на ваш сервис Managed Postgres и отслеживайте ошибки, нарушения ограничений и состояние репликации.
Очистка. После переключения и подтверждения того, что новый сервис работает штатно, удалите миграцию из раздела Источники данных. Если вы использовали CDC, удалите слот репликации в исходной базе данных, чтобы освободить ресурсы: