PlanetScale for Postgres est actuellement disponible en accès anticipé.
Versions de Postgres prises en charge
Activer la réplication logique
-
Pour activer la réplication sur votre instance Postgres, nous devons nous assurer que les paramètres suivants sont définis :
Pour le vérifier, vous pouvez exécuter la commande SQL suivante :Le résultat devrait être
logicalpar défaut. Sinon, connectez-vous à la console PlanetScale, accédez àCluster configuration->Parameters, puis faites défiler jusqu’àWrite-ahead logpour le modifier.
- De plus, il est recommandé d’augmenter la valeur du paramètre
max_slot_wal_keep_sizeau-delà de sa valeur par défaut de 4GB. Cela se fait également via la console PlanetScale, en allant dansCluster configuration->Parameters, puis en faisant défiler jusqu’àWrite-ahead log. Pour vous aider à déterminer la nouvelle valeur, consultez cette section.
Créer un utilisateur avec des permissions et une publication
postgres.<...>, puis exécutez les commandes suivantes :
-
Créez un utilisateur dédié pour ClickPipes :
-
Accordez à l’utilisateur créé à l’étape précédente un accès en lecture seule au niveau du schéma. L’exemple suivant montre les permissions pour le schéma
public. Répétez ces commandes pour chaque schéma contenant des tables que vous souhaitez répliquer : -
Accordez à l’utilisateur les privilèges de réplication :
- Créez une publication avec les tables que vous souhaitez répliquer. Nous vous recommandons vivement de n’inclure dans la publication que les tables nécessaires afin d’éviter tout surcoût de performances.
-
Pour créer une publication pour des tables spécifiques :
-
Pour créer une publication pour toutes les tables d’un schéma donné :
-
Pour créer une publication pour toutes les tables d’un schéma donné :
clickpipes contiendra l’ensemble des événements de modification générés par les tables spécifiées et sera ensuite utilisée pour ingérer le flux de réplication.
Points à noter
- Pour vous connecter à PlanetScale Postgres, vous devez ajouter la branche actuelle au nom d’utilisateur créé ci-dessus. Par exemple, si l’utilisateur créé s’appelle
clickpipes_user, le nom d’utilisateur réel à fournir lors de la création du ClickPipe doit êtreclickpipes_user.branch, oùbranchcorrespond à l’« id » de la branche PlanetScale Postgres actuelle. Pour le déterminer rapidement, vous pouvez vous référer au nom d’utilisateur de l’utilisateurpostgresque vous avez utilisé précédemment pour créer cet utilisateur : la partie après le point correspond à l’id de la branche. - N’utilisez pas le port
PSBouncer(actuellement6432) pour les pipes CDC qui se connectent à PlanetScale Postgres ; vous devez utiliser le port standard5432. En revanche, l’un ou l’autre port peut être utilisé pour les pipes servant uniquement au chargement initial. - Assurez-vous de vous connecter uniquement à l’instance primaire ; la connexion à des instances répliquées n’est actuellement pas prise en charge.