Module 1 : PL/pgSQL — Fondamentaux
1.1 — Premiers pas en PL/pgSQL Aperçu
Module 2 : PL/pgSQL — Avancé
2.1 — Avancé Aperçu
Module 3 : Triggers avancés
3.1 — Triggers Aperçu
Module 4 : Vues matérialisées
4.1 — Vue simple vs vue matérialisée Aperçu
Module 5 : JSON et données semi-structurées
5.1 — JSON vs JSONB Aperçu
Module 6 : Partitionnement
6.1 — Pourquoi partitionner ? Aperçu
Module 7 : Indexation avancée
7.1 — GIN et GiST Aperçu
Module 8 : Optimisation avancée
8.1 — EXPLAIN (ANALYZE, BUFFERS, SETTINGS) Aperçu
Module 9 : CTE récursives et requêtes hiérarchiques
9.1 — WITH RECURSIVE Aperçu
Module 10 : Full-Text Search avancé
10.1 — FTS multilingue Aperçu
Module 11 : Réplication
11.1 — Streaming replication Aperçu
Module 12 : Procédures stockées
12.1 — Fonction vs Procédure Aperçu
Module 13 : Sécurité avancée
13.1 — RLS multi-rôles Aperçu
Module 14 : Extensions avancées
14.1 — PostGIS (géospatial) Aperçu
Module 15 : Performance tuning
15.1 — Wait events Aperçu
Module 16 : Projet final — Application experte
16.1 — Cahier des charges Aperçu

Le reste de la formation est réservé aux inscrits.

S'inscrire gratuitement
Module 13 : Sécurité avancée Aperçu gratuit

13.1 — RLS multi-rôles

ALTER TABLE documents ENABLE ROW LEVEL SECURITY;
CREATE POLICY proprio ON documents FOR ALL USING (owner_id = current_setting('app.user_id')::INTEGER);
CREATE POLICY admin_tout ON documents FOR ALL USING (current_setting('app.role') = 'admin');
CREATE POLICY lecteur_public ON documents FOR SELECT USING (visibility = 'public');
-- Politique par opération
CREATE POLICY insertion_restreinte ON documents FOR INSERT WITH CHECK (owner_id = current_setting('app.user_id')::INTEGER);
CREATE POLICY suppression_admin ON documents FOR DELETE USING (current_setting('app.role') = 'admin');
Ceci est un aperçu gratuit.
Voir la formation complète