DBAtlas · Atlas d'exploitation des bases de données

Installation de PostgreSQL sur un serveur unique (prête pour la production)

PostgreSQLNiveau: DébutantDurée: 30–45 min

Installation de PostgreSQL prête pour la production sur un serveur unique depuis le dépôt PGDG : répertoire de données séparé, data checksums, paramètres calculés selon la RAM et le CPU, accès sécurisé (peer + scram-sha-256), journalisation, pg_stat_statements, firewall et SELinux. Vous obtenez à la fin un cluster opérationnel et vérifié, ainsi qu'une liste de contrôle sauvegarde/supervision.

En streaming replication, le primary est installé avec ce guide ; sur les standbys, seule la « Préparation du système d'exploitation » est effectuée, la suite se trouve dans pg-streaming. Ne créez pas de cluster avec ce guide sur les nœuds Patroni (Patroni exécute lui-même initdb) → pg-patroni.

Topologie: 1 serveur

Avant de commencer

  • Le serveur tourne sur un système d'exploitation supporté et à jour. Le fuseau horaire et NTP (chrony) sont corrects.
  • La RAM et le CPU correspondent aux valeurs du formulaire (les paramètres sont calculés à partir de celles-ci).
  • Un disque/LV séparé est monté pour …, de façon persistante (fstab), avec assez d'espace libre. …Pour les WAL, … est également monté sur un disque séparé.… Le système de fichiers est XFS ou ext4.
  • Le hostname … est configuré et se résout vers sa propre IP ; le réseau applicatif (…) est accessible.
  • Le serveur peut joindre le dépôt PostgreSQL (download.postgresql.org…, apt.postgresql.org…) en HTTPS, ou un miroir interne est configuré.
  • Le port … est libre (aucun autre service ne l'utilise).
  • La version de PostgreSQL fournie par le système d'exploitation n'est pas installée (elle entre en conflit avec PGDG).
  • Vous êtes connecté en root ou avec les droits sudo ; la fenêtre de maintenance et le plan de retour arrière (snapshot du serveur) sont prêts.

Phases du guide

  • Préparation du système d'exploitation — Hostname et mise à jour du système · Vérification de la locale · Paramètres du noyau (sysctl) · Appliquer les paramètres sysctl · Désactiver les Transparent Huge Pages
  • Installation du logiciel PostgreSQL — Ajouter le dépôt PGDG · Ajouter le dépôt PGDG · Installer le logiciel serveur PostgreSQL
  • Répertoire de données et création du cluster — Créer les répertoires et attribuer les droits · Définir les étiquettes SELinux · Créer le cluster (initdb) · Créer le cluster (pg_createcluster)
  • Configuration — Écrire le fichier de paramètres · Activer le répertoire conf.d · Règles d'accès (pg_hba.conf)
  • Démarrer le service — Réserver les huge pages · Activer et démarrer le service · Ouvrir le port dans le firewall
  • Utilisateurs et base de données — Définir le mot de passe de l'utilisateur postgres · Utilisateur et base de données de l'application · Définir le mot de passe de l'utilisateur de l'application · Extension pg_stat_statements
  • Vérification — Vérifier que les paramètres sont appliqués · Test de connexion à distance · Vérifier le fichier de log
  • Après l'installation — Mettre en place la sauvegarde (obligatoire) · Brancher la supervision
Ouvrir le plan pas à pas adapté à votre environnement →