Comment définir la version de PostgreSQL à utiliser par défaut?


23

J'ai 2 versions différentes de PostgreSQL installées sur mon système (Ubuntu Lucid):

  • /var/lib/postgresql/8.4
  • /var/lib/postgresql/9.0

Par défaut, lorsque j'exécute une commande PostgreSQL telle que createdb ou psql, la version 9.0 est utilisée.

Comment configurer mon système pour utiliser la version 8.4 par défaut à la place?

Réponses:


15

Les différents outils de ligne de commande PostgreSQL parleront par défaut au serveur qui écoute sur le port par défaut (5432).

Vous pouvez déterminer sur quel port chaque serveur écoute en recherchant la portvariable dans le /etc/postgresql/$VERSION/main/postgresql.conffichier du serveur concerné.

Pour obtenir les outils de ligne de commande pour parler à l'autre serveur par défaut, vous avez deux options:

Tout d'abord, vous pouvez changer les ports que les deux serveurs écoutent en modifiant les fichiers de configuration mentionnés précédemment, puis en redémarrant les deux serveurs (vous voudrez probablement arrêter chacun avant de démarrer l'un ou l'autre).

Vous pouvez également définir la PGPORTvariable d'environnement sur le numéro de port du serveur par défaut souhaité. Cela devrait affecter toutes les applications utilisant la bibliothèque cliente PostgreSQL.


Pour répertorier le contenu de chaque cluster de base de données, utilisez psql -l -p PORT_NUMBER. Pour migrer des données, reportez-vous à la section " 24.4. Migration entre versions " dans la documentation de PostgreSQL.

La suppression des anciennes versions de PostgreSQL économise l'usure des ordinateurs portables et SSD, grâce à la réduction des écritures sur disque.


Bonne réponse. En outre, envisagez de supprimer les anciennes versions de postgres. Chacun d'eux utilise ram et écrit sur le disque une fois par minute (mauvais pour les SSD et les ordinateurs portables).
Bryce
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.