Tosa, formation informatique

Formation PostgreSQL - Administration

Public:

Gestionnaires de données, administrateurs et analystes-exploitants.

Objectifs:
  • Posséder une vue d'ensemble du SGDBR PostgreSQL, de ses fonctionnalités et des différentes sources d'information utiles
  • Comprendre les différentes possibilités d'installation de PostgreSQL
  • Créer, configurer, contrôler une instance PostgreSQL (database cluster)
  • Gérer les différentes bases de données d'une instance PostgreSQL et utiliser les 'tablespaces'
  • Gérer les connexions aux différentes bases de données d'une instance PostgreSQL
  • Maîtriser la sécurité des accès au serveur et aux objets de ce serveur PostgreSQL
  • Comprendre les mécanismes de journalisation mis en oeuvre sous PostgreSQL
  • Connaître les principales opérations de maintenance à effectuer sur les bases de données d'un serveur PostgreSQL
  • Savoir utiliser les outils psql et pgAdmin3
  • Avoir une vue d?ensemble des tables et des index d'un serveur PostgreSQL
  • Acquérir les éléments nécessaires pour sauvegarder et restaurer de manière cohérente les données des bases d'un serveur PostgreSQL
  • Connaître les premiers éléments d'optimisation d'un serveur PostgreSQL.

Pré-requis:

Avoir la connssance de Linux, des concepts SGBDR et maîtriser le langage SQL.

Durée:3 jours (21 heures)

Lieu: Saint-Etienne


Présentation générale de PostgreSQL

  • Environnement Open Source
  • Site Internet de la communauté
  • Fonctionnalités
  • Documentation
  • FAQ
  • Déclaration de bugs
  • Contribution projets annexes
  • Versions mineures et majeures

Gestion d'un serveur

  • Les différentes techniques d'installation sous Linux et Windows
    • Sources
    • Packages
    • Graphical installer
    • One click installer
  • Upgrading d'une installation existante
  • Initialisation d'un serveur de bases de données ou database cluster (initdb)
  • Architecture d'un serveur
    • Process
    • Arborescence des fichiers...
  • Démarrage / arrêt / contrôle du serveur (postgres, pg_ctl, automatisation)
  • Configuration et mise au point de l'environnement du serveur PostgreSQL
    • fichier de paramètres postgresql.conf
  • Création, modification et suppression d'une base de données dans un serveur PostgreSQL
  • Informations sur les bases de données d'un serveur
  • Gestion des 'tablespaces'
  • Authentification des clients
  • Fichier pg_hba.conf
  • Méthodes d'authentification
  • Exemple personnalisé avec connexions distantes

Maintenance d'un serveur de base de données

  • Gestion de l'espace disque et fichiers à travers les vues d'administration (pg_class)
  • Les fonctions systèmes
    • pg_relation_size
    • pg_database_size...
  • Les lignes de commandes oid2name
  • Vacuum, autovacuum
  • Fichier log du serveur
  • pgBadger

Jour 2

Gestion de la sécurité d'un serveur PostgreSQL

  • Rôles de type utilisateur et groupe
    • Création
    • Modification
    • Suppression
  • Gestion des privilèges sur les objets avec GRANT et REVOKE

Journalisation

  • Journalisation avant et environnement transactionnels
  • Cohérence et partage de données par MVCC
  • Gestion des transactions sous PostgreSQL
    • Begin
    • Commit
    • Rollback
  • Verrous et concurrence d'accès
  • Les journaux WAL
  • Localisation
  • Gestion
  • Checkpoint
  • Archivage des fichiers WAL et PITR

Utilisation d'outils

  • L'outil client psql (commandes spécifiques)
  • L'outil graphique pgAdmin3

Jour 3

Gestion des tables et des index

  • Création
  • Modification
  • Suppression
  • Réorganisation
  • Types de données supportés
  • Utilisation des contraintes d'intégrité

Sauvegardes et restauration

  • Sauvegardes et restaurations logiques
    • pg_dump
    • pg_dumpall
    • pg_restore
  • Sauvegardes physiques serveur ouvert / fermé avec / sans archivage des WAL
  • Restauration complète ou partielle (PITR) du serveur

Optimisation

  • Mise à jour des statistiques de l'optimiseur (vacuum analyze)
  • Les différentes phases d'exécution d'une requête
  • Lecture du plan d'exécution d'une requête (explain analyze)
  • Les principales opérations élémentaires
  • Les principaux paramètres d'optimisation liés à la mémoire
    • Espace mémoire consommé
    • Conseils
  • Contrôle de l'activité et statistiques du serveur
  • Collecteur de statistiques du serveur PostgreSQL
  • Consultation de ces statistiques
  • Contrib pg_stat_statements et pgbench

Annexes

  • Installation via les RPM
  • Postgres
  • Postmaster
  • Pg_ctl
  • Extrait du fichier postgresql.conf
  • Liste des commandes SQL
  • Tables et vues systèmes
  • Vues et fonctions pour les statistiques
  • Fonctions stockées et les triggers

Ce cours peut être joué en version 9.4 et 9.5