web-dev-qa-db-fra.com

Comment définir quelle version de PostgreSQL doit être utilisée par défaut?

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?

23
coffee-grinder

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

Vous pouvez déterminer le port d'écoute de chaque serveur en recherchant la variable portdans le fichier /etc/postgresql/$VERSION/main/postgresql.conf du serveur en question.

Pour que les outils de ligne de commande puissent communiquer par défaut avec l'autre serveur, vous avez deux options:

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

Vous pouvez également définir la variable d'environnement PGPORTavec 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 les données, reportez-vous à la section "24.4. Migration entre les versions" dans la documentation PostgreSQL.

La suppression des anciennes versions de PostgreSQL ™ réduit l'usure des ordinateurs portables et des SSD en réduisant le nombre d'écritures sur disque.

15
James Henstridge