Skip to main content
ClickHouse Cloud теперь предлагает ClickPipes для миграции внешней базы данных PostgreSQL в сервис Managed Postgres. Эта встроенная интеграция упрощает подключение к исходной базе данных, экспорт схемы, её импорт в Managed Postgres и настройку непрерывной репликации.

Предварительные требования

Что нужно учесть перед миграцией

  • Распространение 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. Это позволит миграции безопасно подключаться к базам данных, которые недоступны из публичной сети. Выберите метод ингестии:
  • Initial load + CDC — копирует существующие данные, а затем поддерживает синхронизацию целевой системы с последующими изменениями.
  • Initial load only — однократное копирование без дальнейшей репликации.
  • CDC only — пропускает начальное копирование и реплицирует только новые изменения, начиная с этого момента.
Нажмите Next.

Автоматизированная миграция схемы

При выборе этого варианта ClickPipe автоматически получит схему исходной базы данных и применит её к сервису Managed Postgres на этапе Setup после создания ClickPipe. Эта возможность предполагает пустую целевую базу данных, поскольку переносит из исходной базы данных все объекты независимо от того, какие таблицы вы выберете позже в мастере. Если целевая база данных уже содержит данные или требуется более гибкая настройка, выберите режим Manual. Выберите целевую базу данных в раскрывающемся списке или нажмите Create a new database, чтобы создать её.

Мониторинг

Ход миграции схемы можно отслеживать в представлении сведений о ClickPipes. В разделе Журналы отображаются статус миграции схемы и все возникшие ошибки. Этот режим имеет следующие ограничения:

Ручная миграция схемы

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

Экспортируйте схему базы данных

Мастер покажет команду pg_dump, уже заполненную сведениями о подключении к исходной базе данных. Выполните её в терминале:
В результате в текущем каталоге будет создан файл pg.sql. Нажмите Next.

Импортируйте схему в свой сервис Managed Postgres

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

Шаг 4: Настройка параметров ингестии

Укажите публикацию, которую нужно использовать для логической репликации. Если оставить это поле пустым, публикация будет создана автоматически. Разверните Расширенные настройки репликации, чтобы настроить пропускную способность: Нажмите Далее.

Шаг 5: Выберите таблицы

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

Отслеживание миграции

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

Переключение трафика

После завершения начальной загрузки и, если используется CDC, при значении задержки репликации, близком к нулю, можно переключить трафик с исходной исходной базы данных Postgres на ваш сервис Managed Postgres. Откройте подробное представление миграция и перейдите на вкладку Post-migration steps. Этот мастер проведёт вас по шести шагам, необходимым для безопасного завершения миграция. Шаги нужно выполнять строго по порядку: перейти к следующему можно только после завершения предыдущего.

Шаг 1. Переведите исходную базу данных Postgres в режим только для чтения

Остановите запись из приложения в источник, чтобы во время cutover не возникло расхождений. Мастер покажет команду ALTER DATABASE с уже подставленным именем вашей исходной базы данных — выполните её на исходной базе данных:
Затем разорвите все существующие соединения, чтобы они подхватили настройку «только для чтения» и не осталось незавершённых операций записи:
В зависимости от вашего провайдера Postgres этот шаг может выглядеть иначе. Управляемые сервисы могут запрещать ALTER DATABASE или принудительное завершение backend-соединений, предлагая вместо этого включать режим только для чтения через собственную консоль, группы параметров или отзыв привилегий на запись. Обратитесь к документации вашего провайдера, чтобы узнать, каким способом можно перевести источник в режим только для чтения.
Нажмите Mark as completed, чтобы продолжить.

Шаг 2: проверка количества строк

Выберите реплицированные таблицы, которые нужно проверить. ClickPipes подсчитывает строки в каждой выбранной таблице как в источнике, так и в целевой системе, и сравнивает результаты. Для больших таблиц количество может быть приблизительным. Нажмите Select all tables, чтобы проверить все таблицы, либо найдите и отметьте отдельные таблицы, после чего нажмите Count rows.

Шаг 3: приостановите пайп

Приостановите ClickPipe, чтобы репликация прекратилась до того, как вы сбросите последовательности и переключите трафик. Нажмите Pause ClickPipe и, прежде чем продолжить, дождитесь, пока пайп будет приостановлен.

Шаг 4: сброс последовательностей

Сбросьте последовательности в пункте назначения, чтобы новые вставки продолжались с корректных значений. Нажмите Reset sequences, чтобы привести каждую последовательность в соответствие с текущим максимальным значением в её таблице.

Шаг 5: Переключение трафика

Переведите операции чтения и записи на ваш сервис Managed Postgres, изменив URL базы данных в приложении на строку подключения Managed Postgres. Мастер предоставляет сведения о подключении в нескольких форматах — url, psql, env, yaml и jdbc, — так что вы можете скопировать тот, который подходит для вашего стека. После обновления приложения нажмите Mark as completed.

Шаг 6: Очистка

После переключения трафика, убедившись, что новый сервис работает исправно, удалите миграцию и освободите ресурсы источника. Мастер отображает команду pg_drop_replication_slot с уже подставленным именем слота — выполните её на источнике, чтобы удалить слот репликации:
Затем нажмите Delete ClickPipe migration, чтобы удалить миграцию из раздела источник данных.

Следующие шаги

Последнее изменение 28 сентября 2026 г.