Este é um guia de como configurar o Supabase Postgres para uso no ClickPipes.
Criando um usuário com permissões e slot de replicação
Conecte-se à sua instância do Supabase como um usuário administrador e execute os seguintes comandos:
-
Crie um usuário dedicado para o ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password'; -
Conceda ao usuário criado na etapa anterior acesso de somente leitura no nível de schema. O exemplo a seguir mostra as permissões para o schema
public. Repita esses comandos para cada schema que contenha tabelas que você deseja replicar: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; -
Conceda privilégios de replicação ao usuário:
ALTER USER clickpipes_user WITH REPLICATION; -
Crie uma publicação com as tabelas que você deseja replicar. Recomendamos fortemente incluir na publicação apenas as tabelas necessárias para evitar sobrecarga de desempenho.
-
Para criar uma publicação para tabelas específicas:
CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;-
Para criar uma publicação para todas as tabelas em um schema específico:
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
A publicação clickpipes define o conjunto de tabelas cujos eventos de alteração serão transmitidos ao ClickPipes. Recomendamos não usar FOR ALL TABLES, a menos que você pretenda replicar todas as tabelas, pois incluir tabelas desnecessárias aumenta o tráfego de WAL do Postgres para o ClickPipes e reduz a eficiência geral da replicação.
Aumente max_slot_wal_keep_size
Detalhes de conexão para usar com o Supabase
Acesse Project Settings -> Database no seu projeto do Supabase (em Configuration).
Importante: Desative Display connection pooler nesta página, depois vá para a seção Connection parameters e anote/copie os parâmetros.

Observação sobre RLS
O usuário do ClickPipes para Postgres não deve estar sujeito a políticas de RLS, pois isso pode resultar em dados ausentes. Você pode desativar as políticas de RLS para esse usuário executando o comando abaixo:
ALTER USER clickpipes_user BYPASSRLS;Próximos passos
Agora você pode criar seu ClickPipe e iniciar a ingestão de dados da sua instância do Postgres no ClickHouse Cloud. Anote os detalhes da conexão usados na configuração da sua instância do Postgres, pois você precisará deles durante o processo de criação do ClickPipe.