Перейти к основному содержанию
Перейти к основному содержанию

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

Это руководство по настройке Neon Postgres, который вы можете использовать для репликации данных в ClickPipes. Для выполнения этой настройки убедитесь, что вы вошли в свою консоль Neon.

Создание пользователя с правами доступа

Подключитесь к вашему экземпляру Neon под пользователем с правами администратора и выполните следующие команды:

  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 ROLE clickpipes_user REPLICATION;
    
  4. Создайте publication с таблицами, которые вы хотите реплицировать. Настоятельно рекомендуется включать в публикацию только необходимые таблицы, чтобы избежать лишних накладных расходов на производительность.

    Примечание

    Любая таблица, включённая в публикацию, должна либо иметь определённый первичный ключ, либо для неё должна быть настроена replica identity со значением FULL. См. раздел Postgres FAQs для рекомендаций по выбору области публикаций.

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

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

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      

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

Включите логическую репликацию

В Neon вы можете включить логическую репликацию через интерфейс. Это необходимо для работы CDC (фиксации изменений данных) в ClickPipes, чтобы реплицировать данные. Перейдите на вкладку Settings, затем в раздел Logical Replication.

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

Нажмите Enable, чтобы завершить настройку. После включения вы должны увидеть сообщение об успешном выполнении, приведённое ниже.

Логическая репликация включена

Давайте проверим следующие настройки в вашем экземпляре Neon Postgres:

SHOW wal_level; -- should be logical
SHOW max_wal_senders; -- should be 10
SHOW max_replication_slots; -- should be 10

Разрешение IP-адресов (для тарифа Neon Enterprise)

Если вы используете тариф Neon Enterprise, вы можете разрешить IP-адреса ClickPipes, чтобы включить репликацию из ClickPipes в экземпляр Neon Postgres. Для этого откройте вкладку Settings и перейдите в раздел IP Allow.

Экран настройки разрешенных IP-адресов

Скопируйте данные подключения

Теперь, когда у нас создан пользователь, подготовлена публикация и включена репликация, мы можем скопировать данные подключения, чтобы создать новый ClickPipe. Перейдите в Dashboard и в текстовом поле, где отображается строка подключения, измените режим отображения на Parameters Only. Эти параметры понадобятся нам на следующем шаге.

Данные подключения

Что дальше?

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