Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Руководство по настройке источника Postgres в Google Cloud SQL

Поддерживаемые версии Postgres

Postgres 12 и новее

Включение логической репликации

Вам не нужно выполнять приведённые ниже шаги, если параметр cloudsql. logical_decoding включён. Этот параметр обычно уже предварительно настроен, если вы переходите с другого инструмента репликации данных.

  1. Нажмите кнопку Edit на странице Overview.
Кнопка Edit в Cloud SQL Postgres
  1. Перейдите в раздел Flags и установите cloudsql.logical_decoding в значение on. Для применения этого изменения потребуется перезапустить сервер Postgres.
Установите cloudsql.logical_decoding в значение on
Перезапуск сервера

Создание пользователя ClickPipes и предоставление разрешений

Подключитесь к Cloud SQL Postgres под пользователем admin и выполните приведённые ниже команды:

  1. Создайте отдельного пользователя для ClickPipes:

    CREATE USER clickpipes_user PASSWORD 'some-password';
  2. Предоставьте пользователю, которого вы создали на предыдущем шаге, доступ к схеме в режиме только для чтения. В следующем примере показаны разрешения для схемы public. Повторите эти команды для каждой схемы, содержащей таблицы, которые вы хотите реплицировать:

    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
  3. Выдайте пользователю права на репликацию:

    ALTER USER clickpipes_user WITH REPLICATION;
  4. Создайте публикацию с таблицами, которые вы хотите реплицировать. Мы настоятельно рекомендуем включать в публикацию только необходимые таблицы, чтобы избежать лишней нагрузки на производительность.

  • Чтобы создать публикацию для определённых таблиц:

    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    • Чтобы создать публикацию для всех таблиц в определённой схеме:

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";

Публикация clickpipes определяет набор таблиц, события изменений которых будут передаваться в ClickPipes. Мы не рекомендуем использовать FOR ALL TABLES, если только вы не собираетесь реплицировать каждую таблицу, поскольку включение ненужных таблиц увеличивает WAL-трафик из Postgres в ClickPipes и снижает общую эффективность репликации.

Добавьте IP-адреса ClickPipes в брандмауэр

Выполните следующие действия, чтобы добавить IP-адреса ClickPipes в настройки сети.

  1. Перейдите в раздел Connections
Раздел Connections в Cloud SQL
  1. Перейдите в подраздел Networking
Подраздел Networking в Cloud SQL
  1. Добавьте публичные IP-адреса ClickPipes
Добавление сетей ClickPipes в брандмауэр
Сети ClickPipes добавлены в брандмауэр

Что дальше?

Теперь вы можете создать свой ClickPipe и начать приём данных из вашего экземпляра Postgres в ClickHouse Cloud. Обязательно сохраните сведения о подключении, которые вы использовали при настройке экземпляра Postgres, — они понадобятся вам при создании ClickPipe.

Navigation