Base de donnée / PostgreSQL
PostgreSQL

Durée : 5 Jours

Public : 10 participants Max

Prérequis :
Les participants possèdent un socle de connaissances et de compétences minimal sur les bases de données relationnelles. Ils sont en mesure d’effectuer des requêtes simples en SQL pour interroger et manipuler des données, en vue de les répliquer au cours des travaux pratiques de cette formation PostgreSQL. Des connaissances sur les systèmes d’exploitation UNIX / Linux et/ou Windows sont également nécessaires.

Objectif:
• Découvrir l’architecture de PostgreSQL et ses outils principaux
• Savoir installer et administrer un serveur PostgreSQL
• Être capable de gérer des bases de données PostgreSQL au quotidien
• Savoir interagir avec un serveur PostgreSQL au moyen de Psql
• Savoir configurer les permissions et les accès des utilisateurs
• Mettre en œuvre la sécurité au sein de votre base de données PostgreSQL
• Mettre en place une stratégie de sauvegarde et de restauration

Cible:
Ce cours PostgreSQL s’adresse aux administrateurs (système/bases de données) et développeurs en charge de l’administration, de la configuration, de la production ou de la maintenance d’un serveur de bases de de données de type PostgreSQL.
Programme détaillé
Présentation de PostgreSQL et des outils
- Tour d’horizon du vocabulaire PostgreSQL (WAL, réplication, Hot Standby, etc.)
- Les contributions PostgreSQL (pgbench, oid2name, pg_buffercache, pgcrypto)
- L'outil en ligne de commande : psql (shell SQL)
- Le client lourd PgAdmin 4 (administration, développement)
- L'outil en ligne phpPgAdmin.
- Le gestionnaire de connexions Pgpool
- Le SIG PostGIs
- Les sites et forums pour trouver de l’aide Comparatif avec les autres moteurs SGBDR (avantages/inconvénients)
- Les grandes différences avec Oracle (11 Grid, 12 Cloud)
- L’offre de Microsoft SQL Server
- La version Cloud (Azure)
Installation de PostgreSQL
- Pré-requis selon les besoins applicatifs
- Installation à partir des sources
- Installation à partir d’un package
- L’assistant d’installation graphique
Bases et instances PostgreSQL
- Création d’une base et de ses objets (schémas, tables, index, domaines, séquences, ..)
- Les différents types de données, opérateurs et fonctions
- Retrouver les objets dans le dictionnaire de données
- Différences entre instance et base de données
- Arrêt et démarrage d’une instance
- Architecture des processus du serveur
- Création d'instances supplémentaires
- Créer une nouvelle instance ou une nouvelle base
Sécurité et transactions
- Fonctionnement des transactions
- Les niveaux d'isolations et les verrous sous postgreSQL
- Vue générale des droits d’accès sur les ressources
- Les rôles (utilisateurs et groupes)
- Gratification et révocation des privilèges
- La sécurité des sessions coté serveur (pg_hba.conf)
- Apport des vues pour la sécurité
Fichiers, stockage, logs et surveillance
- Arborescence standard suite à l'installation de PostgreSQL
- Emplacement des éléments fondamentaux
- Répertoires et fichiers générées à la suite d'une création de base
- Les fichiers à sauvegarder à froid pour une base précise
- Le fichier fondamental postgreSQL.conf
- Les logs binaires : Write Ahead Logging (WAL)
- Surveillance et valeurs recommandées pour la mémoire
- Le collecteur de statistiques
- Les logs d'activités
- Les vues et tables des informations du serveur
- Outils pour obtenir des informations sur 'état des bases
- Outils pour vérifier la cohérence des données
Sauvegardes et restauration PostgreSQL
- Stratégies de sauvegardes et commandes associées
- Différences entre pg_dump et pg_dumpall
- Les restaurations avec pg_restore et psql
- Spécificités des grosses bases (gzip, split)
- Limitations
- Sauvegarde au niveau OS
- Migrations entre différentes versions de PostgreSQL
PostgreSQL dans le contexte applicatif
- Les procédures stockées
- Les langages « invités » (PL/pgSQL, PL/Perl, etc.)
- Les triggers (déclencheurs)
- Les applications web en PHP
- Les applications web en Java
- Les pilotes PostgreSQL et PDO
- Rappels sur le rôle d’un serveur d’application
- Liens entre PostgresQL et un serveur d'applications
Optimisation PostgreSQL
- Savoir lire l’activité et la surcharge de PostgreSQL
- Sur quels paramètres intervenir ?
- L'analyse des requêtes avec Explain
Troubleshooting
- Présentation des jeux de caractères (UTF, ISO, etc.)
- Comprendre l’encodage d’une base et son impact sur les applications
- Les paramètres pouvant empêcher le démarrage d’une instance
- Problème d’espace disque (psql, vacuum, dbsize, oid2name, analyze, etc.)
Demandez un devis pour cette formation