O PlanetScale para Postgres está em acesso antecipado.
Versões compatíveis do Postgres
Habilitar a replicação lógica
-
Para habilitar a replicação na sua instância do Postgres, precisamos garantir que as seguintes configurações estejam definidas:
Para verificar isso, você pode executar o seguinte comando SQL:A saída deve ser
logicalpor padrão. Caso não seja, faça login no console do PlanetScale, vá paraCluster configuration->Parameterse role para baixo atéWrite-ahead logpara alterá-lo.
- Além disso, é recomendável aumentar a configuração
max_slot_wal_keep_sizeem relação ao valor padrão de 4GB. Isso também é feito no console do PlanetScale, acessandoCluster configuration->Parameterse, em seguida, rolando para baixo atéWrite-ahead log. Para ajudar a determinar o novo valor, consulte aqui.
Criando um usuário com permissões e publicação
postgres.<...> e execute os comandos a seguir:
-
Crie um usuário dedicado para o ClickPipes:
-
Conceda acesso de somente leitura no nível do esquema ao usuário criado na etapa anterior. O exemplo a seguir mostra as permissões para o esquema
public. Repita esses comandos para cada esquema que contenha tabelas que você deseja replicar: -
Conceda privilégios de replicação ao usuário:
- 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:
-
Para criar uma publicação para todas as tabelas em um esquema específico:
-
Para criar uma publicação para todas as tabelas em um esquema específico:
clickpipes conterá o conjunto de eventos de alteração gerados pelas tabelas especificadas e, posteriormente, será usada para a ingestão do fluxo de replicação.
Ressalvas
- Para se conectar ao PlanetScale Postgres, é preciso acrescentar a branch atual ao nome de usuário criado acima. Por exemplo, se o usuário criado se chamar
clickpipes_user, o usuário real informado durante a criação do ClickPipe deverá serclickpipes_user.branch, em quebranchse refere ao “id” da branch atual do PlanetScale Postgres. Para identificar isso rapidamente, você pode consultar o nome de usuário do usuáriopostgresque usou anteriormente para criar o usuário; a parte após o ponto será o id da branch. - Não use a porta
PSBouncer(atualmente6432) para pipes de CDC que se conectam ao PlanetScale Postgres; é obrigatório usar a porta padrão5432. Qualquer uma das portas pode ser usada para pipes somente de carga inicial. - Certifique-se de se conectar apenas à instância primária; no momento, não há suporte para conexão com instâncias de réplica.