J'ai un processus de serveur PostgreSQL sur mon bureau et mon ordinateur portable.
Les deux serveurs ont une base de données appelée MG avec exactement le même schéma / la mise en page. Maintenant, je saisis les données dans des tables similaires mais à des moments différents. P>
I Gardez généralement les clés primaires séparées afin qu'ils ne se heurtent pas les uns avec les autres. Par exemple: pique-poncé d'Oddnumber pour ordinateur portable et même nombre pour le bureau. P>
Maintenant comment puis-je synchroniser les données entre le bureau et l'ordinateur portable proprement? P>
DESK:ADDRESS ----- LAP:ADDRESS DESK:TO_DO ----- LAP:TO_DO
5 Réponses :
Il ressemble à rubyrep travaillerait pour vous. P>
@yjfuk: Et quel est le problème avec Rubyrep?
rubyrep code> semble être assez dépassé maintenant. Il ne semble pas être très robuste: je ne peux pas obtenir de synchroniser facilement deux bases de données. Voir
Rubyrep github.com/rubyrep/rubyrep/issues semble avoir beaucoup de problèmes ouverts, il a eu du mal à obtenir un exemple simple d'exécution, Github.com/Rubyrep/Rubyrep/issues/Rubyrep/issues/ 71 .
Le moyen le plus simple serait d'écrire un script / programme personnalisé. Ce n'est pas difficile, et certainement, vous saurez et comprendrez comment cela fonctionne, donc le prolongeant cela sera trivial. P>
Eh bien, cela fonctionnera comme vous l'écrirez. Généralement, tout dépend de vos applications avec la base de données. Approche simpliste: vérifiez le plus récent identifiant répliqué dans une autre base de données et copiez-les sur tous les nouveaux.
et qu'en est-il des données modifiées? Je ne peux pas comprendre comment synchroniser une approche simpliste
Ajouter "Dernière modification" Timestamp Set en déclencheur sur "Now ()", et vous avez terminé. Maintenant, juste au lieu de comparer les identifiants, comparez le maximum Last_Modified
Veuillez vous reporter à la documentation postgreSQL pour Haute disponibilité, équilibrage de la charge et Réplication P>
Utilisez Slony-i pour faire la synchronisation postgreSQL. P>
Slony-i Ne prend pas en charge la réplication multi-maîtres, de sorte que cela ne fonctionnera pas ici.
Pour ajouter à la réponse de User80168, voici une fusion de table potentielle: