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

Руководство по настройке источника 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 USER clickpipes_user WITH 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 вы можете включить логическую репликацию через UI. Это необходимо для 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.