> Formations > Technologies numériques > Data : bases de données, SGBD > PostgreSQL, MySQL, MariaDB > Formation PostgreSQL, programmation avancée, transactions et objets internes

Formation : PostgreSQL, programmation avancée, transactions et objets internes

PostgreSQL, programmation avancée, transactions et objets internes



Nouvelle formation

Développez votre expertise en bases de données grâce à une approche active mêlant théorie, démonstrations et cas pratiques. Vous apprendrez à créer des fonctions, gérer transactions et triggers, optimiser les objets et renforcer la sécurité des utilisateurs.


INTER
INTRA
SUR MESURE

Cours pratique
Disponible en anglais, à la demande

Réf. POK
  4j - 28h00
Prix : Nous contacter




Développez votre expertise en bases de données grâce à une approche active mêlant théorie, démonstrations et cas pratiques. Vous apprendrez à créer des fonctions, gérer transactions et triggers, optimiser les objets et renforcer la sécurité des utilisateurs.


Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
Créer et modifier des objets PostgreSQL à l’aide de scripts DDL (Data Definition Language)
Développer des fonctions, procédures et triggers avec PL/pgSQL
Comprendre et gérer les transactions, niveaux d’isolation et verrouillages
Exploiter les concepts architecturaux : bases, schémas, tablespaces
Manipuler des structures avancées : tables partitionnées, temporaires
Gérer les privilèges utilisateurs et configurer PostgreSQL

Public concerné
Développeurs, ingénieurs, administrateurs de bases souhaitant approfondir PostgreSQL en contexte professionnel.

Prérequis
Bonne maîtrise de la syntaxe SQL et des bases de données relationnelles.
Connaissance de base de PostgreSQL (commandes SQL, utilisation de psql ou pgAdmin).

Méthodes et moyens pédagogiques
Travaux pratiques
Apports théoriques, échanges, partages d'expériences, démonstrations, travaux dirigés et cas pratiques
Méthodes pédagogiques
Pédagogie active basée sur des échanges, des exemples, des exercices pratiques et une évaluation tout au long de la formation.

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Programme de la formation

1
Introduction et rappels

  • Versions de PostgreSQL, catégories d'instructions SQL3.
  • Vocabulaire du modèle relationnel : bases, schémas, tablespaces.
  • Outils d’interaction : psql, pgAdmin.
  • Types avancés : numériques, chaînes, dates (DATE, TIMESTAMP, INTERVAL).
  • Types spécifiques PostgreSQL : ARRAY, ENUM, OID.
  • Opérateurs et fonctions pour les tableaux.
  • Expression des constantes.
  • Introduction aux transactions : début, fin, SAVEPOINT.

2
Langage PL/pgSQL

  • Syntaxe et blocs PL/pgSQL.
  • Déclaration des variables, typage avec %TYPE, résolution de noms.
  • Structures de contrôle : IF, CASE, boucles.
  • Interaction avec la base : mise à jour, consultation, variable FOUND.
  • Curseurs : déclaration, ouverture, FETCH, fermeture.
  • Procédures et fonctions stockées.
  • Modes de paramètres : IN, OUT, INOUT.
  • Diagnostic d'erreurs : bloc EXCEPTION, instruction RAISE.
Travaux pratiques
Blocs PL/pgSQL, boucles, curseurs, procédures stockées, gestion des erreurs.

3
Triggers dans PostgreSQL

  • Types de triggers : niveau instruction versus niveau ligne.
  • Événements LMD (INSERT, UPDATE, DELETE).
  • Fonction exécutée par un trigger.
  • Atomicité et cohérence des opérations.
  • Cas d’usage des triggers (audit, automatisation métier).
Travaux pratiques
Création de triggers de niveau instruction et de niveau ligne.

4
Gestion des transactions

  • Concurrence et cohérence : blocages, interblocages (deadlocks).
  • Scénarios illustrant la gestion des transactions.
  • Utilisation de SAVEPOINT et sous-transactions.
  • Transactions dans PL/pgSQL : effet des erreurs, transactions imbriquées.
  • Curseurs et transactions.
  • Niveaux d’isolation : READ COMMITTED, REPEATABLE READ, SERIALIZABLE.
  • Verrouillage explicite de tables (LOCK TABLE).
  • Verrous de lignes et blocages associés.
Travaux pratiques
Simulation de concurrence, isolation, verrouillages de lignes et de tables.

5
Objets et maintenance

  • Bases et tablespaces : définition, rôle dans le stockage.
  • Gestion des schémas : création, suppression, usage.
  • Séquences, colonnes d'identité, colonnes calculées.
  • Catalogue pg_class : exploration du méta-schéma.
  • Modifications dynamiques du schéma : colonnes, contraintes.
  • Index : types, création, réorganisation.
  • Analyse de requêtes : EXPLAIN, ANALYZE.
  • Maintenance : VACUUM, AUTOVACUUM, REINDEX.
  • Tables partitionnées : méthodes de partitionnement (range, list, hash).
  • Tables temporaires : usages et cycle de vie.
Travaux pratiques
Ajout/suppression de colonnes, index, partitionnement, tables temporaires, analyse de plans.

6
Gestion des utilisateurs et configuration

  • Création et configuration des utilisateurs.
  • Rôles et privilèges : GRANT, REVOKE, droits sur objets et schémas.
  • Isolation des privilèges entre utilisateurs.
  • Démarrage et arrêt de PostgreSQL.
  • Fichiers de configuration : postgresql.conf, pg_hba.conf.
  • Authentification des clients.
Travaux pratiques
Création d’utilisateurs, gestion des privilèges, modification des fichiers de configuration.