🔝 Retour au Sommaire
Bienvenue dans le glossaire des termes techniques de PostgreSQL, conçu spécialement pour accompagner votre apprentissage du SGBD le plus avancé du monde open-source.
Ce glossaire est destiné à tous ceux qui souhaitent maîtriser PostgreSQL, qu'ils soient :
- Développeurs débutants découvrant les bases de données pour la première fois
- Développeurs expérimentés venant d'autres SGBD (MySQL, Oracle, SQL Server)
- DevOps et SRE responsables de l'exploitation et de la maintenance
- Data Engineers travaillant avec PostgreSQL dans leurs pipelines
- DBAs en formation souhaitant approfondir leurs connaissances
PostgreSQL utilise un vocabulaire technique riche et précis. Maîtriser cette terminologie est essentiel pour :
- Comprendre la documentation officielle sans se sentir submergé
- Communiquer efficacement avec d'autres professionnels
- Diagnostiquer les problèmes en comprenant les messages d'erreur et les logs
- Optimiser les performances en sachant exactement de quoi on parle
- Progresser rapidement en construisant un socle de connaissances solide
Le glossaire est divisé en deux documents complémentaires pour faciliter votre apprentissage :
Définitions détaillées des concepts fondamentaux de PostgreSQL avec :
- Explications approfondies et accessibles
- Analogies du quotidien pour faciliter la compréhension
- Exemples SQL concrets et commentés
- Cas d'usage pratiques
- Schémas conceptuels (quand pertinent)
Sections principales :
- Concepts fondamentaux (ACID, MVCC, Transaction)
- Architecture et stockage (WAL, TOAST, Tablespace, Heap)
- Processus système (Postmaster, Backend, Shared Buffers)
- Optimisation (Index B-Tree, GIN, GiST, BRIN)
- Concurrence (Locks, Deadlock, Isolation Levels)
- Organisation logique (Schema, Search Path, Sequence)
- Maintenance (VACUUM, ANALYZE, Checkpoint)
- Types de données spéciaux (JSONB, Array, UUID, ENUM)
- Réplication et HA (Replication Slot, Streaming, Logical Replication)
- Extensions et fonctionnalités avancées
Guide alphabétique des acronymes et abréviations avec :
- Signification complète en anglais et traduction française
- Définition concise
- Exemples d'utilisation
- Références croisées vers d'autres termes
Catégories d'acronymes :
- Fondamentaux (RDBMS, SQL, ACID)
- Langages SQL (DDL, DML, DQL, DCL, TCL)
- Contraintes (PK, FK, UK)
- Architecture (MVCC, WAL, TOAST, XID)
- Index (B-Tree, GIN, GiST, BRIN, SP-GiST)
- Sécurité (SSL/TLS, RBAC, RLS, SCRAM)
- Performance (QPS, TPS, IOPS, RTO, RPO)
- Administration (DBA, CLI, GUI, ETL, CDC, ORM)
- Et bien d'autres...
Pour les débutants :
- Commencez par les Concepts fondamentaux (ACID, Transaction, MVCC)
- Passez à l'Architecture et stockage (WAL, TOAST)
- Explorez l'Organisation logique (Schema, Sequence)
- Abordez l'Optimisation (Index) quand vous écrivez vos premières requêtes
- Approfondissez la Concurrence et la Maintenance quand votre application grandit
Pour les intermédiaires :
- Utilisez le glossaire comme référence lors de la lecture de documentation
- Approfondissez les sections sur les Index, la Réplication et les Extensions
- Consultez le guide des Acronymes pour décoder rapidement les termes techniques
Pour les avancés :
- Parcourez l'intégralité pour identifier les zones d'ombre
- Concentrez-vous sur les sections Réplication, Haute Disponibilité et Production
- Utilisez les exemples SQL comme base pour vos propres expérimentations
Lecture linéaire : Idéale pour un apprentissage structuré du début à la fin.
Lecture par besoins : Consultez directement le terme qui vous pose problème.
Lecture par thème : Approfondissez une catégorie entière (ex: tous les types d'index).
Lecture comparative : Comparez des concepts similaires (ex: VACUUM vs VACUUM FULL, GIN vs GiST).
Chaque terme suit une structure cohérente pour faciliter votre compréhension :
### Nom du Terme
**Définition en une phrase** : Ce que c'est, simplement et clairement.
**Le principe** : Explication conceptuelle accessible.
**Pourquoi c'est important** : L'intérêt pratique du concept.
**Exemple concret** :
```sql
-- Code SQL commenté et expliqué
SELECT * FROM exemple;
Analogie : Comparaison avec un concept du quotidien (quand pertinent).
Avantages : Ce que ça apporte.
Contreparties : Les limites ou précautions à prendre.
Cas d'usage : Quand et comment l'utiliser en pratique.
#### Niveaux de complexité
Les termes sont annotés pour vous aider à prioriser votre apprentissage :
- 🟢 **DÉBUTANT** : Concept fondamental, à maîtriser en priorité
- 🟡 **INTERMÉDIAIRE** : Concept important pour le développement quotidien
- 🔴 **AVANCÉ** : Concept pour l'optimisation et la production
#### Symboles et annotations
- 💡 **Astuce** : Conseil pratique ou bonne pratique
- ⚠️ **Attention** : Point important ou erreur courante à éviter
- 🔗 **Voir aussi** : Références croisées vers d'autres termes liés
- 🆕 **Nouveau en PG 18** : Fonctionnalité introduite dans PostgreSQL 18
- 🏆 **Best Practice** : Recommandation de la communauté
### Exemples de code
Tous les exemples SQL de ce glossaire sont :
✅ **Testables** : Vous pouvez les copier-coller dans `psql`
✅ **Commentés** : Chaque ligne importante est expliquée
✅ **Réalistes** : Inspirés de cas d'usage réels
✅ **Progressifs** : Du simple au complexe
✅ **Compatibles** : Fonctionnent avec PostgreSQL 12+ (sauf mention contraire)
#### Format des exemples
```sql
-- Description de ce que fait l'exemple
CREATE TABLE exemple (
id SERIAL PRIMARY KEY, -- Clé primaire auto-incrémentée
nom VARCHAR(100) NOT NULL -- Colonne obligatoire
);
-- Utilisation
INSERT INTO exemple (nom) VALUES ('Test');
-- Résultat attendu : 1 ligne insérée, id = 1
Le glossaire utilise un système de références croisées pour vous aider à naviguer entre les concepts liés :
- 🔗 Voir aussi : Termes directement liés à approfondir
- 📖 Prérequis : Concepts à maîtriser avant celui-ci
- 🎓 Approfondissement : Concepts avancés qui en découlent
- ⚡ En pratique : Sections du tutoriel principal utilisant ce terme
Ce glossaire reflète l'état de PostgreSQL 18 (septembre 2025) et sera mis à jour régulièrement pour :
- Intégrer les nouveautés des versions futures
- Améliorer les explications basées sur vos retours
- Ajouter de nouveaux termes selon vos besoins
- Enrichir les exemples avec des cas d'usage réels
Si vous identifiez :
- Un terme manquant qui mériterait d'être ajouté
- Une explication qui pourrait être plus claire
- Une erreur ou une imprécision
- Un exemple qui ne fonctionne pas comme décrit
N'hésitez pas à le signaler ! Ce glossaire est conçu pour évoluer avec la communauté.
Ce glossaire est conçu pour être utilisé en complément de :
-
La documentation officielle PostgreSQL https://www.postgresql.org/docs/current/ La référence ultime, très complète mais parfois technique
-
Le tutoriel principal "Maîtriser PostgreSQL 18" Les concepts en contexte avec une progression pédagogique
-
Les annexes pratiques :
- Commandes psql essentielles
- Requêtes SQL de référence
- Configuration par cas d'usage
- Checklist de performance
-
Le wiki PostgreSQL https://wiki.postgresql.org/ Articles communautaires et cas d'usage
-
Le glossaire officiel PostgreSQL https://www.postgresql.org/docs/current/glossary.html Version technique exhaustive (en anglais)
Si vous découvrez PostgreSQL, ne vous laissez pas impressionner par la quantité de termes ! Voici une roadmap suggérée :
- ✅ SQL, DDL, DML (les langages)
- ✅ Table, Schema, Database (l'organisation)
- ✅ PK, FK (les contraintes)
- ✅ Transaction, ACID (la fiabilité)
- ✅ SELECT, WHERE, JOIN (les requêtes)
- ✅ Index, B-Tree (les performances)
- ✅ MVCC (la concurrence)
- ✅ Backend, Postmaster (l'architecture)
- ✅ CTE, Window Functions (SQL avancé)
- ✅ GIN, GiST (index spécialisés)
- ✅ JSONB, Array (types avancés)
- ✅ VACUUM, ANALYZE (la maintenance)
- ✅ WAL, Checkpoint (la persistance)
- ✅ Streaming Replication (la disponibilité)
- ✅ EXPLAIN, pg_stat_statements (l'optimisation)
- ✅ Connection Pooling, Prepared Statements (les performances)
N'oubliez pas : La maîtrise vient avec la pratique. Expérimentez, cassez, réparez, et recommencez !
📁 Glossaire PostgreSQL (Annexe A)
│
├── 📄 Introduction (ce document)
│ └── Comment utiliser le glossaire
│
├── 📘 Document 1 : Termes PostgreSQL Essentiels
│ ├── Concepts fondamentaux
│ ├── Architecture et stockage
│ ├── Processus et architecture
│ ├── Optimisation et index
│ ├── Concurrence et verrouillage
│ ├── Schéma et organisation
│ ├── Maintenance et administration
│ ├── Types de données spéciaux
│ ├── Réplication et haute disponibilité
│ └── Extensions et termes divers
│
└── 📗 Document 2 : Acronymes Courants
├── Acronymes fondamentaux
├── Langages SQL
├── Contraintes et clés
├── Architecture et mécanismes internes
├── Types d'index
├── Requêtes et expressions
├── Extensions et fonctionnalités avancées
├── Réplication et clustering
├── Administration et outils
├── Performance
├── Formats et standards
├── Sécurité
└── Cloud
- Lisez cette introduction
- Parcourez le Document 1 (Termes essentiels) dans l'ordre
- Gardez le Document 2 (Acronymes) comme référence rapide
- Identifiez votre besoin (concept ou acronyme)
- Consultez directement la section correspondante
- Suivez les références croisées pour approfondir
- Parcourez les titres de sections
- Testez vos connaissances en essayant de définir chaque terme
- Vérifiez votre compréhension avec les définitions
- 🟢 Essentiel : À maîtriser absolument
- 🟡 Important : Nécessaire pour un usage quotidien
- 🔴 Expert : Pour l'optimisation et la production avancée
- 💡 Astuce pratique
⚠️ Attention / Point important- 🔗 Voir aussi / Référence croisée
- 🆕 Nouveau dans PostgreSQL 18
- 🏆 Best Practice / Bonne pratique
- 📖 Prérequis à connaître
- 🎓 Pour aller plus loin
- ⚡ Application pratique
- 🐘 Spécificité PostgreSQL
- 🔧 Configuration / Paramètre
- 📊 Performance / Optimisation
- 🔐 Sécurité
- 🌐 Cloud / Distributed
- 🎯 Cas d'usage typique
-- MAJUSCULES : Mots-clés SQL (recommandé mais pas obligatoire)
SELECT nom FROM clients;
-- minuscules : Identifiants (tables, colonnes)
CREATE TABLE produits (id SERIAL);
-- Indentation : Pour la lisibilité
SELECT
c.nom,
c.email,
COUNT(o.id) AS nb_commandes
FROM clients c
LEFT JOIN commandes o ON c.id = o.client_id
GROUP BY c.id, c.nom, c.email;
-- Commentaires : Pour expliquer
-- Ceci est un commentaire sur une ligne
/*
Ceci est un commentaire
sur plusieurs lignes
*/Tous les exemples supposent :
- PostgreSQL 12 ou supérieur (sauf mention contraire)
- Encoding UTF-8
- Locale par défaut
- Configuration standard
Pour tester les exemples :
# Lancer psql
psql -U postgres
# Créer une base de test
CREATE DATABASE test_glossaire;
\c test_glossaire
# Exécuter vos exemples
-- collez votre code iciMaintenant que vous comprenez comment utiliser ce glossaire, vous êtes prêt à explorer :
-
📘 Document 1 : Termes PostgreSQL Essentiels
- Commencez par les Concepts fondamentaux
- Progressez à votre rythme
- Expérimentez avec les exemples
-
📗 Document 2 : Acronymes Courants
- Gardez-le à portée de main comme référence
- Consultez-le dès qu'un acronyme vous échappe
- Utilisez-le pour décoder la documentation
-
🎓 Le tutoriel principal
- Revenez au cours pour voir les concepts en contexte
- Pratiquez avec les cas d'usage réels
- Construisez vos propres projets
La maîtrise de la terminologie PostgreSQL est un investissement qui paiera rapidement. Chaque terme compris est une pièce du puzzle qui s'assemble pour former une compréhension globale et profonde de ce SGBD extraordinaire.
Quelques principes à garder en mémoire :
✨ Patience : Personne ne maîtrise tout d'un coup. Progressez pas à pas.
✨ Pratique : Testez chaque concept. La théorie sans pratique est vite oubliée.
✨ Curiosité : Suivez les références croisées, explorez, creusez.
✨ Communauté : Posez des questions, partagez vos découvertes, aidez les autres.
✨ Documentation : Le glossaire est un tremplin vers la documentation officielle, pas un remplacement.
Prêt à commencer ? Rendez-vous dans le Document 1 : Termes PostgreSQL Essentiels pour débuter votre voyage au cœur de PostgreSQL !
-
Concepts Fondamentaux
- ACID
- MVCC (Multiversion Concurrency Control)
- Transaction
-
Architecture et Stockage
- WAL (Write-Ahead Log)
- TOAST (The Oversized-Attribute Storage Technique)
- Tablespace
- Heap
-
Processus et Architecture
- Postmaster
- Backend Process
- Shared Buffers
- Autovacuum
-
Optimisation et Index
- B-Tree (Balanced Tree)
- GIN (Generalized Inverted Index)
- GiST (Generalized Search Tree)
- BRIN (Block Range Index)
-
Concurrence et Verrouillage
- Lock (Verrou)
- Deadlock
- Isolation Level
-
Schéma et Organisation
- Schema
- Search Path
- Sequence
-
Maintenance et Administration
- VACUUM
- ANALYZE
- Checkpoint
- XID (Transaction ID)
-
Types de Données Spéciaux
- JSONB
- Array
- UUID
- ENUM
-
Réplication et Haute Disponibilité
- Replication Slot
- WAL Archiving
- Streaming Replication
- Logical Replication
-
Extensions et Termes Divers
- Extension
- Foreign Data Wrapper (FDW)
- DDL, DML, DQL, DCL
- Constraint
- Trigger
- View / Materialized View
- Connection Pooling
- Prepared Statement
-
Acronymes Fondamentaux
- RDBMS, SQL, ACID
-
Langages SQL
- DDL, DML, DQL, DCL, TCL
-
Contraintes et Clés
- PK, FK, UK
-
Architecture
- MVCC, WAL, TOAST, XID, TID, CTID
-
Types d'Index
- B-Tree, GIN, GiST, BRIN, SP-GiST
-
Requêtes
- CTE, EXPLAIN, VACUUM, ANALYZE
-
Extensions
- FDW, FTS, JSONB, UUID, PITR, HA, RLS, SSL/TLS
-
Réplication
- OLTP, OLAP, WAL-G, SCRAM
-
Administration
- DBA, CLI, GUI, ETL, CDC, CRUD, ORM
-
Performance
- QPS, TPS, IOPS, RTO, RPO
-
Formats
- JSON, CSV, XML, UTF-8
-
Sécurité
- RBAC, MFA, GDPR/RGPD
-
Cloud
- RDS, IaaS/PaaS/SaaS
Bon apprentissage avec PostgreSQL ! 🐘
⏭️ Termes PostgreSQL essentiels (ACID, MVCC, WAL, TOAST, etc.)