Analyser le plan d'exécution
Notion de plan d'exécution
- Plan estimé et plan réel
- Paramètres de l'optimiseur
Visualisation du plan d'exécution
- Commande EXPLAIN
- Coûts estimés et coûts réels
Phases d'exécution d'une requête
- Parcours de tables
- Tris
- Jointures
- Agrégats
- Fonctions
Atelier : Comprendre le plan d'exécution d'une requête en vue de son optimisation
Accèder à des sources de données externes
Le standard SQL/MED
Notion de Foreign Data Wrapper
- Serveur distant
- Correspondance utilisateur
- Table étrangère
- Importation de schémas
Notion de pushdown de requêtes
Atelier : Accès à un serveur PostgreSQL distant
Configurer l'activité des journaux de transaction
Les checkpoints
- Notion de checkpoints
- Processus bgwriter
- Statistiques des checkpoints
- Journalisation des checkpoints
- Configuration de l'activité des checkpoints
- Noyau Linux et checkpoints
Journaux de transaction
- Principe de fonctionnement
- Taille unitaire, espace minimal et maximal
- Archivage des journaux de transaction
Atelier : Configuration optimisée des checkpoints et des journaux de transaction
Mettre en œuvre le partitionnement de table
Présentation du partionnement déclaratif
Types de partionnement
Gestion d'une table partitionnée
Restrictions, jointures, agrégats et partitions
Limitations selon les versions
Atelier : Mettre en œuvre une table partitionnée
Gérer la réplication
Présentation des types de réplications
Principe global de la réplication
Rétention des données
- Rétention des journaux de transactions
- Infrastructure des slots de réplication
Réplication physique
- Log-Shipping et Streaming Replication
- Synchronisation des instances : pg_basebackup
Réplication logique
Pool de connexions et répartition de charge : Pg-Pool II
Problématique
Choix de Pg-Pool II (Linux)
- Présentation
- Fonctionnalités
Installation de Pg-Pool II
Configuration
Atelier : Mettre en œuvre un cluster de répartition de charge