Installation
Prérequis pour Mac OS
Pour installer les prérequis sur un Mac, exécutez la commande suivante :
Psycopg
À compter de psycopg2-2.8
, la version binaire de psycopg2 ne sera plus installée par défaut. Son installation à partir du code source nécessite un compilateur C ainsi que les paquets de développement postgres+python. Étant donné qu’environnement Python ne permet pas de spécifier la dépendance comme psycopg2 OR psycopg2-binary, vous devrez déterminer vous-même la méthode d’installation.
Plusieurs options sont disponibles :
- Utilisez le gestionnaire de paquets de votre distribution
- Indiquez
psycopg,psycopg2oupsycopg2-binarydans la liste des dépendances lors de l’installation de Patroni avec pip.
Installation générale de pip
Patroni peut être installé avec pip :
où dependencies peut être vide ou composé d’un ou plusieurs des éléments suivants :
etcd ou etcd3
module python-etcd afin d’utiliser etcd comme magasin de configuration distribué (DCS)
consul
module py-consul afin d’utiliser Consul comme DCS
zookeeper
module kazoo afin d’utiliser Zookeeper comme DCS
exhibitor
module kazoo afin d’utiliser Exhibitor comme DCS (mêmes dépendances que pour Zookeeper)
kubernetes kubernetes module afin d’utiliser Kubernetes comme DCS dans Patroni
raft
module pysyncobj afin d’utiliser l’implémentation Python de Raft comme DCS
aws
boto3 afin d’utiliser les rappels AWS
jsonlogger
module python-json-logger afin d’activer la journalisation logging
au format JSON
systemd
systemd-python afin d’utiliser l’intégration sd_notify
tous tous les précédents (à l’exception de la famille psycopg)
psycopg3
module psycopg\[binary\]\>=3.0.0
psycopg2
module psycopg2\>=2.5.4
psycopg2-binary
module psycopg2-binary
Par exemple, la commande permettant d’installer Patroni avec psycopg3, les dépendances pour etcd en tant que DCS, et les rappels AWS est :
Notez que les outils externes appelés lors de la création d’une réplique ou dans des scripts d’amorçage personnalisés (par exemple WAL-E) doivent être installés indépendamment de Patroni.
Installation du paquet sous Linux
Les paquets Patroni peuvent être disponibles pour votre système d’exploitation, produits par la communauté Postgres pour :
- RHEL, Rocky Linux, AlmaLinux ;
- Debian et Ubuntu ;
- SUSE Enterprise Linux.
Vous pouvez également trouver des paquets pour les dépendances directes de Patroni, telles que des modules Python qui pourraient ne pas être disponibles dans les dépôts officiels du système d’exploitation.
Pour plus d’informations, consultez la documentation du dépôt PGDG .
Si vous utilisez un système d’exploitation dérivé de RedHat Enterprise Linux, vous devrez peut-être également installer des paquets provenant du dépôt EPEL repository .
Une fois que vous avez installé le dépôt PGDG pour votre système d’exploitation, vous pouvez installer Patroni.
Les paquets Patroni ne sont pas maintenus par les développeurs Patroni, mais par la communauté Postgres. Si vous avez besoin d’assistance, essayez d’abord de vous connecter sur Postgres slack .
Installation sur les dérivés de Debian
Avec le dépôt PGDG installé, consultez ci-dessus , puis installez Patroni via apt en exécutant :
Installation sur les dérivés RedHat
Avec le dépôt PGDG installé, voir ci-dessus , installez Patroni avec un DCS etcd via dnf sur RHEL 9 (et dérivés) en exécutant :
Vous pouvez installer etcd à partir de PGDG si votre distribution dérivée de RedHat ne fournit pas de paquets. Sur les nœuds qui hébergeront le DCS, exécutez :
Vous pouvez remplacer la version de RHEL par 8 dans le dépôt afin de créer pgdg-rhel8-extras si nécessaire. Le nom du dépôt reste pgdg-rhelN-extras sur RockyLinux, AlmaLinux, Oracle Linux, etc…
Installation sur SUSE Enterprise Linux
Vous devrez peut-être activer les référentiels SUSE PackageHub pour certaines dépendances. Voir la documentation de SUSE PackageHub .
Pour SLES 15 avec le dépôt PGDG installé, consultez ci-dessus pour installer Patroni avec :
Avec le dépôt PackageHub SUSE activé, vous pouvez également installer etcd :
Mise à jour
La mise à jour de Patroni est un processus très simple : mettez à jour l’installation logicielle, puis redémarrez le démon Patroni sur chaque nœud du cluster.
Toutefois, redémarrer le démon Patroni entraîne un redémarrage de la base de données PostgreSQL. Dans certaines situations, cela peut provoquer un basculement du nœud primaire de votre cluster ; il est donc recommandé de mettre le cluster en mode maintenance jusqu’à la fin du redémarrage du démon Patroni.
Pour placer le cluster en mode maintenance, exécutez la commande suivante sur l’un des nœuds Patroni :
Ensuite, sur chaque nœud du cluster, effectuez la mise à jour du paquet nécessaire pour votre système d’exploitation :
Redémarrez le processus daemon Patroni sur chaque nœud :
Enfin, reprenez la surveillance de Postgres avec Patroni afin de sortir le serveur du mode maintenance :
Le cluster sera désormais entièrement opérationnel avec la nouvelle version de Patroni.