Table des matières
- Avant-propos
- 1. Préambule
- 2. Présentation des projets
- 3. Objectifs de cet ouvrage
- Installation
- 1. Sources
- 1.1 Téléchargement des sources
- 1.2 Choix des options de compilation
- 1.3 Compilation
- 1.4 Étapes post-installation
- 1.5 Intégration dans le système d’exploitation
- 2. Linux : distributions Debian et Ubuntu
- 2.1 Dépôt apt.postgresql.org
- 2.2 Distributions RPM
- 3. Installation dans un système MS-Windows
- 3.1 Téléchargement de l’installateur EnterpriseDB pour MS-Windows
- 3.2 Installation
- 1. Sources
- Initialisation du système de fichiers
- 1. Introduction
- 2. Initialisation d’une instance
- 2.1 Options de la commande
- 2.1.1 Options essentielles
- 2.1.2 Choix du jeu de caractères
- 2.1.3 Réglages des paramètres locaux
- 2.2 Exécution de la commande
- 2.3 Création d’instances supplémentaires
- 2.1 Options de la commande
- 3. Arrêt et démarrage du serveur
- 4. Scripts Debian
- 4.1 Le script pg_lsclusters
- 4.2 Le script pg_ctlcluster
- 4.3 Le script pg_createcluster
- 4.4 Le script pg_dropcluster
- 4.5 Le script pg_upgradecluster
- Connexions
- 1. Introduction
- 2. Sessions
- 3. Clients
- 3.1 Les options de connexions
- 3.1.1 Variables d’environnement
- 3.1.2 Chaîne de connexion
- 3.1.3 Fichier de service
- 3.1.4 Hôtes Mutiples
- 3.1.5 Fichier de mots de passe
- 3.2 Les outils Clients
- 3.2.1 L’outil psql
- 3.2.2 Utilisation en mode interactif
- 3.2.3 Utilisation en mode non interactif
- 3.2.4 Fichier de configuration
- 3.1 Les options de connexions
- 4. Droits d’accès
- 4.1 Gestion des rôles : utilisateurs et groupes
- 4.1.1 Définition d’un rôle comme compte d’utilisateur
- 4.1.2 Définition d’un rôle comme groupe
- 4.1.3 Appartenance à un groupe et héritage
- 4.1.4 Utilisation des privilèges d’un groupe
- 4.1.5 Modification d’un rôle
- 4.1.6 Variables de sessions
- 4.1.7 Suppression d’un rôle
- 4.1.8 Gestion de l’appartenance à un rôle
- 4.2 Gratification et révocation des droits
- 4.3 Définition des droits par défaut
- 4.4 Sécurité d’accès aux lignes de données
- 4.4.1 Activation
- 4.4.2 Création des règles d’accès
- 4.4.3 Exemple de création des règles d’accès
- 4.1 Gestion des rôles : utilisateurs et groupes
- Définition des données
- 1. Introduction
- 2. Les espaces de tables
- 2.1 Modification d’un espace de tables
- 2.2 Suppression d’un espace de tables
- 3. Les bases de données
- 3.1 Modification d’une base de données
- 3.2 Suppression d’une base de données
- 4. Les schémas
- 4.1 Modification d’un schéma
- 4.2 Suppression d’un schéma
- 5. Les tables
- 5.1 Attributs
- 5.1.1 Définition d’un attribut
- 5.1.2 Contraintes
- 5.2 Contraintes de tables
- 5.3 Exemples
- 5.4 Modification d’une table
- 5.5 Suppression d’une table
- 5.6 Création d’une table depuis une requête
- 5.7 Partitionnement déclaratif
- 5.1 Attributs
- 6. Les vues
- 6.1 Modification d’une vue
- 6.2 Suppression d’une vue
- 6.3 Vues matérialisées
- 6.3.1 Création d’une vue matérialisée
- 6.3.2 Mise à jour des données d’une vue matérialisée
- 7. Le système de règles
- 7.1 Suppression d’une règle
- 7.2 Exemple
- 8. L’héritage
- 9. Gestion de données externes
- 9.1 Wrappers
- 9.1.1 Liste de wrappers disponibles
- 9.1.2 Création d’un wrapper
- 9.1.3 Modification d’un wrapper
- 9.1.4 Suppression d’un wrapper
- 9.2 Serveurs
- 9.2.1 Création d’un serveur
- 9.2.2 Modification d’un serveur
- 9.2.3 Suppression d’un serveur
- 9.3 Utilisateurs
- 9.3.1 Création d’un utilisateur
- 9.3.2 Modification d’un utilisateur
- 9.3.3 Suppression d’un utilisateur
- 9.4 Tables étrangères
- 9.4.1 Création d’une table étrangère
- 9.4.2 Modification d’une table étrangère
- 9.4.3 Suppression d’une table étrangère
- 9.1 Wrappers
- 10. Les index
- 10.1 Création d’un index
- 10.2 Les différents types d’index
- 10.3 Modification d’un index
- 10.4 Suppression d’un index
- 10.5 Exemples d’index
- 10.6 Les statistiques
- 11. Séquences et attribut d’identité
- 11.1 Création d’une séquence
- 11.2 Modification d’une séquence
- 11.3 Suppression d’une séquence
- 12. Types de données
- 12.1 Type de données numériques
- 12.2 Type de données « caractères »
- 12.3 Type de données de dates et d’heures
- 12.4 Type de données « plages de valeurs »
- 12.5 Types de données divers
- 12.6 Tableau de données
- 13. Domaines
- 13.1 Création d’un domaine
- 13.2 Modification d’un domaine
- 13.3 Suppression d’un domaine
- 14. Recherche textuelle
- 15. Extensions
- 15.1 Création d’une extension
- 15.2 Modification d’une extension
- 15.3 Suppression d’une extension
- 15.4 Gestion du code
- 15.4.1 Le fichier control
- 15.4.2 Le script SQL
- 15.4.3 Installation de l’extension
- 16. Opérateurs et fonctions
- 16.1 Opérateurs
- 16.1.1 Opérateurs de comparaison
- 16.1.2 Opérateurs mathématiques
- 16.1.3 Opérateurs de sous-requêtes
- 16.1.4 Autres opérateurs
- 16.1.5 Expressions
- 16.2 Fonctions
- 16.2.1 Fonctions sur les nombres
- 16.2.2 Fonctions sur les chaînes de caractères
- 16.2.3 Fonctions sur les dates
- 16.2.4 Fonctions de manipulation des séquences
- 16.2.5 Fonctions d’agrégat
- 16.2.6 Fonctions fenêtrées
- 16.2.7 Fonctions de manipulation des tableaux
- 16.2.8 Fonctions de manipulation de données JSON
- 16.2.9 Fonctions de manipulation de données XML
- 16.1 Opérateurs
- 17. Manipulation des données
- 17.1 Insertion de données
- 17.1.1 L’ordre INSERT … INTO
- 17.1.2 Gestion des conflits
- 17.1.3 L’ordre COPY
- 17.2 Lecture de données
- 17.2.1 L’ordre SELECT
- 17.2.2 L’ordre COPY
- 17.3 Mise à jour des données
- 17.4 Suppression de données
- 17.4.1 L’ordre DELETE
- 17.4.2 L’ordre TRUNCATE
- 17.5 Les CTE et le mot-clé WITH
- 17.6 Les transactions
- 17.6.1 Niveaux d’isolation
- 17.6.2 Points de sauvegarde
- 17.6.3 Verrous d’interblocage
- 17.1 Insertion de données
- Programmation
- 1. Introduction
- 2. Procédures stockées
- 2.1 SQL
- 2.1.1 Volatilité
- 2.1.2 Coûts d’appel
- 2.2 PL/pgSQL
- 2.2.1 Structure d’une fonction
- 2.2.2 Exemple de fonction
- 2.1 SQL
- 3. Déclencheurs
- 3.1 Code PL/pgSQL
- 3.1.1 Exemple
- 3.1.2 Suppression de déclencheurs
- 3.1.3 Déclencheur sur événement
- 3.1.4 Création d’un déclencheur sur événement
- 3.2 Traitements asynchrones
- 3.1 Code PL/pgSQL
- 4. Contrôle de fonctions
- 4.1 Profileur de fonctions
- 4.2 Intallation
- 4.3 Profilage de fonctions
- 4.4 Contrôle de fonction PL/pgSQL
- 4.4.1 Installation
- 4.4.2 Vérification
- Exploitation
- 1. Exécution d’une instance
- 1.1 Définition des fichiers
- 1.2 Nom des fichiers
- 2. Administration du serveur
- 2.1 Configuration
- 2.1.1 Connexions
- 2.1.2 Mémoire
- 2.1.3 Collecteurs de statistiques
- 2.1.4 Options des outils de nettoyage
- 2.1.5 Logs d’activités
- 2.1.6 Fichiers d’écriture des transactions
- 2.1.7 Réplication
- 2.1.8 Performances des requêtes
- 2.1.9 Chargement des modules
- 2.1.10 Autres options
- 2.1.11 Gestion des modifications de la configuration
- 2.2 Catalogue système
- 2.3 Fonctions utiles à l’exploitation
- 2.1 Configuration
- 3. Gestionnaire de connexions
- 3.1 Pgpool
- 3.1.1 Installation
- 3.1.2 Configuration
- 3.1.3 Utilisation de PgPool
- 3.1.4 Configuration et démarrage
- 3.2 pgBouncer
- 3.2.1 Installation
- 3.2.2 Configuration des connexions
- 3.2.3 Configuration de l’instance
- 3.2.4 Démarrage
- 3.2.5 Administration
- 3.1 Pgpool
- 4. Sauvegardes et restauration
- 4.1 Sauvegardes logiques avec pg_dump et pg_dumpall
- 4.1.1 pg_dump
- 4.1.2 pg_dumpall
- 4.1.3 Choix de l’outil
- 4.2 Restauration logique avec pg_restore et psql
- 4.2.1 pg_restore
- 4.2.2 psql
- 4.2.3 Exemples
- 4.3 Sauvegardes physiques
- 4.3.1 Sauvegarde à froid
- 4.3.2 Sauvegarde au fil de l’eau
- 4.3.3 Restauration d’une sauvegarde au fil de l’eau
- 4.3.4 L’outil pgBackRest
- 4.3.5 L’outil pgBarMan
- 4.1 Sauvegardes logiques avec pg_dump et pg_dumpall
- 5. Exploitation et tâches de maintenance
- 5.1 Analyse d’une requête avec EXPLAIN
- 5.2 Collecte des statistiques avec ANALYZE
- 5.3 Nettoyage des tables avec VACUUM
- 5.4 Automatisation avec AUTOVACUUM
- 5.5 Maintenance des index avec REINDEX
- 5.6 Organisation des tables avec CLUSTER
- 6. Test de l’installation avec pgbench
- 7. Exploitation des traces d’activités avec pgBadger
- 7.1 Installation
- 7.2 Analyse des fichiers de traces
- 1. Exécution d’une instance
- Outils
- 1. Introduction
- 2. L’outil graphique : pgAdmin III
- 3. L’outil Dbeaver
- 4. L’outil SQLTabs
- 5. L’outil PGWatch2
- Réplication
Soyez le premier à donner votre avis sur “PostgreSQL Administration et exploitation de vos bases de données (4e édition)”