Это руководство о том, как настроить Supabase Postgres для работы с ClickPipes.
ClickPipes изначально поддерживает Supabase по IPv6, что обеспечивает бесшовную репликацию.
Создание пользователя с разрешениями и слотом репликации
Подключитесь к своему экземпляру Supabase под пользователем-администратором и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password';
-
Предоставьте пользователю, созданному на предыдущем шаге, доступ к схеме в режиме только для чтения. В следующем примере показаны разрешения для схемы
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;
-
Предоставьте пользователю привилегии репликации:
ALTER USER clickpipes_user WITH REPLICATION;
-
Создайте публикацию с таблицами, которые вы хотите реплицировать. Мы настоятельно рекомендуем включать в публикацию только необходимые таблицы, чтобы избежать лишних накладных расходов на производительность.
Любая таблица, включённая в публикацию, должна либо иметь определённый первичный ключ, либо иметь параметр 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, поэтому его нужно отключить.
Пользователь ClickPipes в Postgres не должен подпадать под действие политик RLS, так как это может привести к потере данных. Вы можете отключить политики RLS для этого пользователя, выполнив приведённую ниже команду:
ALTER USER clickpipes_user BYPASSRLS;
Теперь вы можете создать свой ClickPipe и начать приём данных из вашего экземпляра Postgres в ClickHouse Cloud.
Обязательно сохраните сведения о подключении, которые вы использовали при настройке экземпляра Postgres, так как они понадобятся вам при создании ClickPipe. Последнее изменение 10 июня 2026 г.