Предварительные требования
- Доступ к вашей исходной базе данных 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: Подключитесь к исходной базе данных
- Initial load + CDC — копирует существующие данные, а затем поддерживает синхронизацию целевой системы с последующими изменениями.
- Initial load only — однократное копирование без дальнейшей репликации.
- CDC only — пропускает начальное копирование и реплицирует только новые изменения, начиная с этого момента.
Шаг 2: Экспорт схемы базы данных
pg_dump, уже заполненную сведениями о подключении к исходной базе данных. Выполните её в терминале:
pg.sql в текущем каталоге.
Нажмите Далее.
Шаг 3: Импорт схемы в сервис Managed Postgres
psql, с помощью которой можно применить дамп схемы в вашем сервисе Managed Postgres. Выполните её в терминале:
Шаг 4: Настройка параметров ингестии
| Параметр | Значение по умолчанию | Описание |
|---|---|---|
| Интервал синхронизации (секунды) | 10 | Как часто опрашивается слот репликации |
| Параллельные потоки для начальной загрузки | 4 | Количество потоков для этапа пакетной загрузки |
| Размер батча Pull | 100,000 | Количество строк, извлекаемых за один батч репликации |
| Количество строк снимка на партицию | 100000 | Размер партиции для снимков больших таблиц |
| Количество таблиц для снимков в параллельном режиме | 1 | Количество таблиц, для которых снимки создаются одновременно |