Mise à jour PostgreSQL vers la dernière version

Nous avons installé PostgreSQL version 15 dans un article précédent. Nous allons réaliser la mise à jour de PostgreSQL vers la dernière version. La version 16.

L’installeur Windows pour la mise à jour de PostgreSQL

Nous prenons l’installeur windows surt le site d’entreprisedb. Nous prenons la version Windows x86-64.

Une fois le téléchargement effectif, nous lançons l’installeur.

Mise à jour de PostgreSQL#1-Activation de l'installeur Windows
Mise à jour de PostgreSQL#1-Activation de l’installeur Windows

Mise à jour de PostgreSQL#2-Dossier pour l'installation de PostgreSQL Version 16
Mise à jour de PostgreSQL#2-Dossier pour l’installation de PostgreSQL Version 16

Mise à jour de PostgreSQL#3-Outils à installer pour PostgreSQL
Mise à jour de PostgreSQL#3-Outils à installer pour PostgreSQL

Mise à jour de PostgreSQL#4-Mot de passe pour l'administrateur
Mise à jour de PostgreSQL#4-Mot de passe pour l’administrateur

Mise à jour de PostgreSQL#5-Configuration du port utilisé par PostgreSQL
Mise à jour de PostgreSQL#5-Configuration du port utilisé par PostgreSQL

Mise à jour de PostgreSQL#6-Locale utilisée par défaut par PostgreSQL
Mise à jour de PostgreSQL#6-Locale utilisée par défaut par PostgreSQL

Mise à jour de PostgreSQL#7-Synthèse du paramétrage choisi pour PostgreSQL
Mise à jour de PostgreSQL#7-Synthèse du paramétrage choisi pour PostgreSQL

Mise à jour de PostgreSQL#8-Prêt pour l'installation de PostgreSQL
Mise à jour de PostgreSQL#8-Prêt pour l’installation de PostgreSQL

Mise à jour de PostgreSQL#9-Installation de PostgreSQL en cours
Mise à jour de PostgreSQL#9-Installation de PostgreSQL en cours

L’installation est maintenant terminée, nous n’ajoutons pas les outils complémentaires :

Mise à jour de PostgreSQL#10-Installation de PostgreSQL terminée
Mise à jour de PostgreSQL#10-Installation de PostgreSQL terminée

Vérification de la mise à jour de PostgreSQL

Nous pouvons maintenant vérifier l’installation et la disponibilité de PostgreSQL.

  • psql –version ‘version de postgreSQL active
  • psql -U postgres ‘connection à postgres avec le compte postgres/postgres
  • \du ‘ liste des utilisateurs
  • \q ‘quitter postgreSQL
C:\Users\broussel>psql --version
psql (PostgreSQL) 15.4

C:\Users\broussel>psql -U postgres
Mot de passe pour l'utilisateur postgres :
psql (15.4, serveur 16.1)
ATTENTION : psql version majeure 15, version majeure du serveur 16.
         Certaines fonctionnalités de psql pourraient ne pas fonctionner.
Attention : l'encodage console (850) diffère de l'encodage Windows (1252).
            Les caractères 8 bits peuvent ne pas fonctionner correctement.
            Voir la section « Notes aux utilisateurs de Windows » de la page
            référence de psql pour les détails.
Saisissez « help » pour l'aide.

postgres=# \du
                                              Liste des r¶les
 Nom du r¶le |                                    Attributs                                    | Membre de
-------------+---------------------------------------------------------------------------------+-----------
 postgres    | Superutilisateur, CrÚer un r¶le, CrÚer une base, RÚplication, Contournement RLS | {}


postgres=# \q

C:\Users\broussel>

Nous voyons que psql –version donne la version de psql, et c’est à la connexion que nous constatons que postgreSQL est bien utilisé dans la version 16.1 que nous venons d’installer.

Utilisation de PostgreSQL

Les principales commandes utilisées pour psql sont les suivantes :

  • psql –version ‘connaitre la version de psql
  • psql -U postgres ‘pour se connecter en tant qu’utilisateur username: postgres
  • \c ‘pour vérifier la connexion
  • \c customer_dev ‘pour se connecter à la base customer_dev
  • \connect customer_dev ‘se connecter à notre base de données customer_dev
  • \d ‘ liste les tables de la base customer_dev
  • \d customers ‘ liste les colonnes de la table customers
  • \conninfo
  • \du ‘liste des utilisateurs
  • \l ‘liste des base de données
  • \q ‘pour quitter postgres
postgres=# \conninfo
Vous êtes connecté à la base de données « postgres » en tant qu'utilisateur « postgres » sur l'hôte « localhost » (adresse « ::1 ») via le port « 5432 ».
postgres=# \q

Lorsque nous avons le message suivant :

DETAIL:  The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.

Nous pouvons aller changer dans le path la version de Postgres utilisée. Pour ce faire nous devons potentiellement arrêter Postgres dans la liste des tâches windows.

Administration et mise à jour de PostgreSQL

Pour utiliser Postgres dans Windows, nous avons besoin de configuer :

  • le path qui permet d’indiquer la version avec laquelle nous souhaitons travailler,
  • le port qui utilisé par PostgreSQL pour se connecter.
  • nous devons aussi pouvoir arreter et relancer le service PostgreSQL dans Windows.

Arrêter et démarrer le service PostgreSQL dans Windows

Nous avons besoin de pouvoir arreter PostgreSQL en tant que service pour pouvoir changer le port utilisé, puis redémarrer le service.

L’accès aux service windows est activable par services.msc. Dans la zone de recherche nous indiquons services.msc, permettant d’ouvrir la fenêtre Services Application :

Mise à jour de PostgreSQL#11-Services PostgreSQL gérés par Windows
Mise à jour de PostgreSQL#11-Services PostgreSQL gérés par Windows

Nous utilisons le bouton droit de la sourie pour afficher le menu (1) permettant de Démarrer, Arrêter ou Relancer PostgreSQL dans la version souhaitée : ici, version 15 ou version 16.

Mise à jour de PostgreSQL#12-Utilisation des Services pour démarrer et arrêter PostgreSQL
Mise à jour de PostgreSQL#12-Utilisation des Services pour démarrer et arrêter PostgreSQL

Mise à jour du path pour PostgreSQL

Le path est accéssible en indiquant path dans la boite de recherche Windows.

Mise à jour de PostgreSQL#13-Boîte de recherche Windows
Mise à jour de PostgreSQL#13-Boîte de recherche Windows

Nous allons dans Variables d’environnement, puis sous variable système, nous choisissons [Modifier…] en ayant pris soin de selectionner la ligne Path.

Mise à jour de PostgreSQL#14-Modification du path pour PostgreSQL
Mise à jour de PostgreSQL#14-Modification du path pour PostgreSQL

Une fois les changements effectués sur la ligne, il faut valider 3 fois avec [OK].

Mise à jour du port du service PostgreSQL

Le port utilisé par postgreSQL se déclare dans le fichier postgresql.conf qui se trouve dans le dossier :

  • C:\Program Files\PostgreSQL\16\data ‘pour la version 16
Mise à jour de PostgreSQL#15-Modification du port pour PostgreSQL
Mise à jour de PostgreSQL#15-Modification du port pour PostgreSQL

On relance le service avec services.msc. Cela permet la prise en compte le changement de port par le service PostgreSQL.

Message apparaissant lors d’une mauvaise configuration

Lorsque nous utilisons psql en ligne de commande, le numero de la version s’affiche. Lorsque deux numéro différents s’affichent, l’un concerne l’executable psql et l’autre le service PostgreSQL (ligne 3 ci-dessous) :

C:\Users\broussel>psql -U postgres
Mot de passe pour l'utilisateur postgres :
psql (15.4, serveur 16.1)
ATTENTION : psql version majeure 15, version majeure du serveur 16.
         Certaines fonctionnalités de psql pourraient ne pas fonctionner.
Attention : l'encodage console (850) diffère de l'encodage Windows (1252).
            Les caractères 8 bits peuvent ne pas fonctionner correctement.
            Voir la section « Notes aux utilisateurs de Windows » de la page
            référence de psql pour les détails.
Saisissez « help » pour l'aide.

postgres=# \du

Le path donne la version de psql.exe. Le port par defaut utilisé est le 5432. Parmi les services actifs, celui qui sera utilisé pour PostgreSQL sera celui dont le port est défini dans postgresql.conf à la valeur par defaut 5432.

Changement du port utilisé par Phoenix et Elixir

Par defaut le port utilisé pour PostgreSQL est le 5432. Nous pouvons changer le port utilisé dans la configuration du projet dans le fichier /config/dev.exs :

# Configure your database
config :blogset, Blogset.Repo,
  username: "postgres",
  password: "postgres",
  hostname: "localhost",
  database: "blogset_dev",
  port: 5433
  stacktrace: true,
  show_sensitive_data_on_connection_error: true,
  pool_size: 10

Nous avons ajouté la ligne 7 avec port: 5433, afin de forcer le port du service PostgreSQL à 5433 au lieu de 5432 par defaut.

Conclusion

Nous avons installé la mise à jour du serveur PostgreSQL. Nous avons montré ici une installation simplifiée car nous n’avons pas eu besoin de récupérer les données d’une base de données précédente.

Si vous avez aimé l'article vous êtes libre de le partager :-)

Laisser un commentaire