Ajout procédure pour mise à jour de cluster pgsql
This commit is contained in:
parent
687aede73f
commit
a1dacb87b9
|
@ -362,6 +362,49 @@ postgres=# select * from pg_pltemplate;
|
|||
(6 rows)
|
||||
~~~
|
||||
|
||||
## Mettre à jour un cluster
|
||||
|
||||
La mise à jour de PostgreSQL d'une version majeure à une autre implique une mise à jour du datadir.
|
||||
|
||||
Dans Debian, chaque version de PostgreSQL a son propre paquet (*postgresql-9.3*, *postgresql-9.4*, etc…). La mise à jour doit donc forcement se faire de manière explicite par un `apt install` du paquet en question. Il n'est pas obligatoire de faire chaque mise à jour intermédiaire pour arriver à celle voulue (i.e. on peut passer de la 9.1 à la 9.6 sans devoir passer par la 9.2, 9.3, etc…).
|
||||
|
||||
### Procédure à suivre pour passer à une version plus récente
|
||||
|
||||
Dans la procédure suivante, on suppose que l'on met à jour un cluster en version 9.3 vers la version 9.6. Le cluster s'appelle *main* (nom par défaut).
|
||||
|
||||
* Installer les paquets :
|
||||
|
||||
~~~
|
||||
# apt install postgresql-9.6 postgresql-contrib-9.6 postgresql-client-9.6
|
||||
~~~
|
||||
|
||||
* supprimer le cluster créé par défaut à l'installation :
|
||||
|
||||
~~~
|
||||
# pg_dropcluster 9.6 main --stop
|
||||
~~~
|
||||
|
||||
* lancer la mise à jour du cluster. En gros `pg_upgrade` va interdire toute connexion (autre que postgres) sur le cluster à mettre à jour, faire un rsync du datadir (option `-m upgrade`) avec des hardlinks (pour sauver de la place et du temps) (option `-k`), intervertir le port de connexion des 2 clusters et réautoriser les connexions au cluster :
|
||||
|
||||
~~~
|
||||
# pg_upgradecluster 9.3 main -m upgrade -k
|
||||
~~~
|
||||
|
||||
* si tout c'est bien passé, on peut voir le nouveau cluster et s'y connecter :
|
||||
|
||||
~~~
|
||||
# pg_lsclusters
|
||||
# sudo -u postgres psql
|
||||
psql (9.6.5)
|
||||
~~~
|
||||
|
||||
* on peut alors supprimer l'ancien cluster ainsi que les paquets :
|
||||
|
||||
~~~
|
||||
# pg_dropcluster 9.3 main
|
||||
# apt remove postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3
|
||||
~~~
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Connexion
|
||||
|
|
Loading…
Reference in a new issue