Vous n'êtes pas identifié(e).
Bonjour,
J'ai vu qu'il était possible de faire cohabiter 2 versions différentes de Postgre sur le même système, mais je n'ai pas encore trouvé la marche à suivre!
Par contre, serait il possible de faire cohabiter 2 versions identiques de Postgre sur le même serveur?
J'ai en effet Postgre SQL 8.4 installé sur un serveur avec le port par défaut 5432. Sur ce serveur, je stocke plusieurs bases de données "client" et une base de syncrhonisation.
J'ai cependant un soucis avec un utilisateur qui n'arrive pas à accéder à ce port. Il faudrait donc que :
- je modifie le port utilisé par la version actuelle -> ce qui me pose problème car il faudrait modifier les informations de connexion de différents utilisateurs
- installer une nouvelle version de Postgre sur un port différent -> je souhaiterais que la version soit la même afin d'éviter les problèmes de compatibiltié
Auriez vous des conseils ou des tutoriels à me suggérer?
Merci!
Hors ligne
Quel système d'exploitation ? Est-ce une version compilée à la main, ou un package ? Si packgae, quel package ?
La réponse à la question est assez lié à la façon dont vous avez installé postgres.
Marc.
Hors ligne
Le système d'exploitation est Windows Server 2008 R2, et Postgre a été installé via un package d'installation (postgresql-8.4.4-1-windows.exe).
Hors ligne
Le mieux, dans ce cas, c'est d'utiliser:
- initdb pour initialiser un nouveau cluster (initdb -D répertoire_cible, éventuellement spécifier un encoding et une locale). Cette commande doit être lancée en tant qu'utilisateur postgres du système d'exploitation
- puis utiliser : pg_ctl register [-N servicename] [-U username] [-P password] [-D datadir] [-w] [-t seconds] [-o options]. Cela crée le service windows. http://docs.postgresql.fr/8.4/app-pg-ctl.
Marc.
Hors ligne
D'accord merci, je regarderais...
On m'a également suggérer d'utiliser le "Reverse proxy" avec Apache, afin de rediriger un des ports dispo chez le client vers le port utilisé actuellement...
Qu'en penses tu?
Hors ligne
Le reverse proxy apache, à ma connaissance, c'est uniquement pour l'http. Par contre un redirecteur de port simple ferait l'affaire. Ce que sait faire n'importe quel firewall par exemple.
Ou sinon, il y a des programmes susceptibles de faire office de proxy pour PostgreSQL: pgbouncer et pgpool.
Marc.
Hors ligne
Mais dans mon cas, quelle est la solution la plus simple à mettre en place selon toi?
- l'installation d'un cluster en parallèle
- la redirection de port
Hors ligne
La redirection de port est simple à mettre en place, si le système d'exploitation le supporte. Rediriger les connexions TCP du port 5433 vers 5432 est trivial sur un serveur Linux. Sous Windows, je n'ai aucune idée de comment le faire, mais je présume que c'est supporté par le système. Ça serait certainement encore plus simple à mettre en place que les solutions envisagées.
Marc.
Hors ligne
Je n'ai rien trouvé sous Windows...
J'ai regardé sur la configuration d'OVH comme il s'agit d'un serveur dédié, mais il ne semble qu'il n'y a rien non plus.
Je vais donc me pencher du coté de pgbouncer et pgpool...
Hors ligne
Marc.
Hors ligne
Re-bonjour à vous,
Après avoir mis ce problème de coté pendant un moment, je suis de nouveau confronté à une situation similaire : j'ai besoin de passer à Postgre 9 pour profiter de certaines optimisations mais je souhaite garder Postgre 8.4 installé, le temps de s'assurer que tout marche bien...
Dans ce cas, la meilleure solution consiste t'elle aussi à utiliser :
- initdb
- puis pg_ctl register ...
Ou y a t'il une autre méthode?
Merci,
Hors ligne
Non, utilisez simplement l'installeur windows de la version 9. Comme ce sont des versions majeures différentes, les répertoires de données seront différents ainsi que le port.
Guillaume.
Hors ligne
Effectivement, je viens de tester sur mon poste en local, et il n'y a que le port qui change.
Je pense donc faire pareil sur le serveur pour les tests de migration de Postgre 8.4 à Postgre 9. Puis ensuite réaffecter le prot 5432 à Postgre 9 afin que la migration soit transparent aux utilisateurs.
Il ne devrait pas y avoir de soucis pour le changement de port non?
Hors ligne
À partir du moment où l'ancien serveur 8.4 est arrêté, non, ça devrait fonctionner tout seul.
Guillaume.
Hors ligne