Si vous arrangez les nœuds afin qu'ils remplissent une fonction différente, cela implique en général de modifier un peu les nœuds abonnés.
Cela nécessitera plusieurs actions :
Si vous voulez qu'un nœud abonné devienne l'origine d'un ensemble de réplication, vous devez effectuer une opération slonik(1) MOVE SET appropriée.
Vous pouvez ensuite, ou à la place, modifier les abonnements des autres nœuds. Vous pouvez modifier un nœud pour obtenir les données depuis un fournisseur différent, ou le modifier pour activer ou désactiver le transfert des données. Cela s'accomplit en utilisant l'opération slonik SLONIK SUBSCRIBE SET(7) avec les nouvelles informations d'abonnement pour le nœud;. Slony-I™ changera la configuration ; inutile de lancer SLONIK UNSUBSCRIBE SET(7) ; inutile de recopier les données depuis zéro ; la requête modifiera l'abonnement « à la volée » et préservera la cohérence des données entre les nœuds.
Si les flux de données ont changé de direction, il est inévitable de lancer une série d'opérations SLONIK DROP LISTEN(7) afin de supprimer les chemins obsolètes entre les nœuds et SLONIK STORE LISTEN(7) pour ajouter les nouveaux chemins. Jusqu'à la version 1.1, ceci n'était pas modifié automatiquement ; depuis la version 1.1, SLONIK MOVE SET(7) et SLONIK SUBSCRIBE SET(7) changent les chemins automatiquement. Voir Section 9, « Voix d'écoute » pour plus d'informations à ce propos. Dans les versions 1.1 et suivantes, la génération des entrées de la table sl_listen est entièrement automatisée, elles sont donc regénérées lorsqu'une modification est effectuée sur les tables sl_path ou sl_subscribe, rendant ainsi inutile de se préoccuper de SLONIK STORE LISTEN(7).
Après avoir exécuté les modifications de configuration, vous devez, comme l'indiquent Section 1, « Bonnes Pratiques avec Slony-I », exécuter les scripts Section 5.1, « test_slony_state » pour valider que l'état du cluster reste en bon état après ce changement.
Les outils altperl incluent un script regenerate-listens qui permet de créer les nouvelles commandes SLONIK STORE LISTEN(7) cependant, il n'est pas assez malin pour déterminer les chemins à supprimer.