Je dois passer de PostgreSQL 9.2 à 9.6. Voici les défis auxquels je suis confronté:
Étant donné que nous avons la configuration de la réplication en streaming, et PostgreSQL ne prend pas en charge la mise à niveau de la version inférieure à la version supérieure en mode de réplication en streaming, lorsque je mets à niveau le maître, je dois reconstruire les esclaves et cela prend 3 heures. Je n'ai pas ce temps à perdre. À tout moment, nous avons besoin d'un esclave et d'un maître disponibles. Existe-t-il un autre moyen de mettre à niveau sans avoir à reconstruire les esclaves, en utilisant la réplication en streaming?
Pour créer une réplication logique, nous avons pensé à utiliser slony, mais slony a certaines limites en ce qu'il ne se réplique pas automatiquement:
Veuillez suggérer quelque chose pour éviter la reconstruction de l'esclave et effectuer la mise à niveau avec un temps d'arrêt minimal et un maître et un esclave prêts.
La mise à niveau d'une base de données nécessitera des temps d'arrêt sur vos serveurs. Pour minimiser les temps d'arrêt, je vous suggère d'installer la nouvelle version sur un nouveau serveur, de créer une configuration de réplication sur celui-ci et de vider toutes les données de l'ancienne instance ici, et de changer le pointage du serveur afin que l'application pointe vers un nouveau serveur pour se connecter à la base de données.