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

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

Подключитесь к своему экземпляру Supabase под пользователем-администратором и выполните следующие команды:
  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. Создайте публикацию с таблицами, которые вы хотите реплицировать. Мы настоятельно рекомендуем включать в публикацию только необходимые таблицы, чтобы избежать лишних накладных расходов на производительность.
Любая таблица, включённая в публикацию, должна либо иметь определённый первичный ключ, либо иметь параметр replica identity со значением FULL. Рекомендации по выбору области охвата см. в FAQ по Postgres.
  • Чтобы создать публикацию для конкретных таблиц:
    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    
    • Чтобы создать публикацию для всех таблиц в определённой схеме:
      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      
Публикация clickpipes будет содержать набор событий изменений, сгенерированных указанными таблицами, и позже будет использоваться для приёма потока репликации.

Увеличьте max_slot_wal_keep_size

Этот шаг приведёт к перезапуску вашей базы данных Supabase и может вызвать кратковременный простой.Вы можете увеличить значение параметра max_slot_wal_keep_size для вашей базы данных Supabase до большего значения (не менее 100 GB или 102400), следуя документации SupabaseЧтобы получить более точную рекомендацию по выбору этого значения, вы можете обратиться к команде ClickPipes.

Сведения о подключении для Supabase

Перейдите в Project Settings проекта Supabase -> Database (в разделе Configuration). Важно: На этой странице отключите Display connection pooler, затем перейдите к разделу Connection parameters и запишите или скопируйте параметры.
Пул соединений не поддерживается для репликации на основе CDC, поэтому его нужно отключить.

Примечание о RLS

Пользователь ClickPipes в Postgres не должен подпадать под действие политик RLS, так как это может привести к потере данных. Вы можете отключить политики RLS для этого пользователя, выполнив приведённую ниже команду:
ALTER USER clickpipes_user BYPASSRLS;

Что дальше?

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