Objectifs pédagogiques
-
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
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
-
Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
-
Environnements de formation installés sur les postes de travail ou en ligne
-
Supports de cours et exercices
En cas de formation intra sur site externe à ECI, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Niveau requis
Avoir connaissance d'un système d'exploitation de Linux et/ou Windows, des concepts SGBDR et maîtriser le langage SQL.
Public concerné
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 de formation
Jour 1
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
Jour 2
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 créés à 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 l'é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
Jour 3
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
-
L'analyse et le nettoyage des espaces
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.)