Mise à jour de Postgresql sous windows
Last updated
Was this helpful?
Last updated
Was this helpful?
Aujourd'hui, nous allons mettre à jour PostgreSQL de la version 14 à la version 15, ce qui est considéré comme une mise à niveau majeure (14->15). Voici les instructions étape par étape pour effectuer cette mise à jour sur Windows.
Rendez-vous sur le site officiel de pour télécharger l'installeur de la version 15 pour Windows.
Installez PostgreSQL 15 sur la machine. Cela créera un dossier séparé dans le répertoire d'installation pour la version 15 par rapport à la version 14.
Il est recommandé de conserver le même mot de passe pour l'utilisateur PostgreSQL.
Arrêtez les deux versions de PostgreSQL en cours d'exécution sur le système. Utilisez la commande PowerShell suivante :
Dans le répertoire /data
(dans notre cas C:\Program Files\PostgreSQL\14\data
et C:\Program Files\PostgreSQL\15\data
) de chaque version, conservez les fichiers pg_hba.conf existants. Je les renomme généralement en pg_hba.conf.org
pour les conserver en sauvegarde.
Ensuite, créez un nouveau fichier pg_hba.conf
dans chaque répertoire /data
, basé sur les anciens fichiers, avec le contenu suivant pour éviter les problèmes de sécurité pendant la mise à jour :
Nos répertoires binaires se trouvent ici :
C:\Program Files\PostgreSQL\14\bin
C:\Program Files\PostgreSQL\15\bin
Nos répertoires de données se trouvent ici :
C:\Program Files\PostgreSQL\14\data
C:\Program Files\PostgreSQL\15\data
Pour mettre à jour les données vers la version 15, nous utiliserons pg_upgrade.exe
.
Pour créer un répertoire temporaire, utilisez les commandes suivantes :
PowerShell :
Invite de Commandes :
Une fois le répertoire créé, vous pouvez y exécuter pg_upgrade.exe
pour effectuer la mise à niveau en toute sécurité.
Explication des paramètres :
--old-datadir
: Chemin vers le répertoire de données de l'ancienne version (PostgreSQL 14).
--new-datadir
: Chemin vers le répertoire de données de la nouvelle version (PostgreSQL 15).
--old-bindir
: Chemin vers le répertoire contenant les exécutables de l'ancienne version.
--new-bindir
: Chemin vers le répertoire contenant les exécutables de la nouvelle version.
-U
: Nom de l'utilisateur PostgreSQL, généralement postgres
.
Le symbole &
en PowerShell est utilisé pour exécuter une commande dont le chemin pourrait contenir des espaces ou des caractères spéciaux. Il est appelé "call operator" ou "opérateur d'appel".
Le symbole &
en PowerShell est appelé "opérateur d'appel". Il est utilisé pour exécuter une commande lorsque le chemin contient des espaces ou des caractères spéciaux. Sans cet opérateur, PowerShell pourrait interpréter le chemin comme une chaîne littérale plutôt que comme une commande.
Après une mise à jour réussie, procédez comme suit :
Copiez votre pg_hba.conf
de l'ancienne version dans le répertoire de données de la nouvelle version. Supprimez également le fichier .org
si vous n'en avez plus besoin.
Mettez à jour le fichier postgresql.conf
dans la nouvelle version. L'installation a probablement détecté que le port 5432 était déjà utilisé (par l'ancienne version) et a attribué un autre port, comme 5433. Changez ce port en 5432.
Démarrez le nouveau serveur avec PowerShell :
Désinstallez l'ancienne version.
Supprimez les données de l'ancienne version si nécessaire.
Après ces étapes, votre serveur devrait être opérationnel avec PostgreSQL 15.