Présentation générale
- Communauté PostgreSQL
- Fonctionnalités
- Les projets annexes
- Déclaration d’un bug
Installation
- Pré-installation avec les sources sous Linux
- Installation avec les sources sous Linux
- Post-installation
- Autres méthodes d’installation
– Via des paquetages (rpm, apt-get, yum, DNF)
– Via des « Graphical Installer » (exemple sous Linux et Windows)
- Upgrading des bases de données existantes
Mise en oeuvre d’une instance PostgreSQL
- Création d’une instance PostgreSQL
- Démarrage et arrêt d’une instance PostgreSQL avec postgres et pg_ctl
- Configuration de l’instance (fichier postgresql.conf)
- Démarrage et arrêt automatique de l’instance PostgreSQL
Création d’une base
- Introduction
- Création d’une base de données avec CREATE DATABASE et createdb
- Informations sur les bases de données
- Modification et suppression d’une base
- Création, modification et suppression de tablespaces
Authentification des clients
- Configuration du fichier pg_hba.conf
- Les méthodes d’authentification
- Mise en place d’un fichier pg_hba.conf personnalisé avec connexions distantes
Gestion de la sécurité
- Concepts des mécanismes de sécurité
- Gestion des rôles de type « utilisateur » et « groupe »
- Chiffrement des mots de passe SCRAM-SHA-256
- Gestion des privilèges d’accès aux objets
Journalisation
- Journalisation « avant » et environnement transactionnel
– Transaction
– Journalisation « avant »
– Commit / rollback
- Verrous et concurrence d’accès
- Journalisation WAL
- Checkpoint
- Archivage des fichiers WAL et PITR
Maintenance d’une instance PostgreSQL
- Opérations de maintenance sur un serveur PostgreSQL
- Gestion de l’espace disque et l’espace disque utilisé
– Vues système
– Fonction SQL d’administration
– Contrib oid2name
- Nettoyage d’une base de données
- Autovacuum
- Utilitaire VACUUM
- Le fichier de log
- pgBadger
psql et pgAdmin 4
- psql
– Utilisation en interactif avec ses commandes spécifiques , scripts et batch
- pgAmin 4
– Installation
– Prise en compte d’une nouvelle instance
– Utilisation
– Gestion des objets
– Requêteur
– Plan d’exécution
Sauvegardes et restaurations
- Généralités
- Sauvegardes logiques
- Utilisation de pg_dump et pg_dumpall
- Restaurations logiques
– A partir d’un fichier texte et psql
– A partir d’un fichier binaire et pg_restore
- Sauvegardes physiques sur un serveur fermé
- Le mode Archive (archivage des WAL)
- Sauvegardes physiques sur un serveur ouvert
- Restauration complète ou partielle (PITR) du serveur
Tables et index
- Tables relationnelles
- Types de données
- Création, modification de la structure et suppression d’une table
- Index
– Types d’index
– Conseils…
- Création et suppression, réorganisation d’un index
- Contraintes d’intégrité
- Types de contraintes
- Création et suppression d’une contrainte
Optimisation
- Introduction
- Exécution d’une requête
- Lecture d’un plan d’exécution
- Commande EXPLAIN
- Opérations élémentaires
- Principaux paramètres d’optimisation liés à la mémoire, espace mémoire consommé et conseils
- Contrôle de l’activité et statistiques du serveur
- Contrib pg_stat_statements
- pgbench