Este é um guia de como configurar o Supabase Postgres para uso no ClickPipes.
O ClickPipes oferece suporte nativo ao Supabase via IPv6 para uma replicação sem interrupções.
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.
Qualquer tabela incluída na publicação deve ter uma chave primária definida ou ter sua identidade de réplica configurada como FULL. Consulte as FAQs do Postgres para orientações sobre escopo.
-
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 conterá o conjunto de eventos de alteração gerados pelas tabelas especificadas e será usada posteriormente para a ingestão do fluxo de replicação.
Aumente max_slot_wal_keep_size
Esta etapa reiniciará seu banco de dados Supabase e poderá causar uma breve indisponibilidade.Você pode aumentar o parâmetro max_slot_wal_keep_size do seu banco de dados Supabase para um valor mais alto (pelo menos 100 GB ou 102400) seguindo a documentação do SupabasePara obter uma recomendação mais precisa para esse valor, entre em contato com a equipe do ClickPipes.
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.
O connection pooler não é compatível com replicação baseada em CDC, portanto precisa ser desativado.
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;
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.