PostgreSQL
Apprendre PostgreSQL de bout en bout. Bases du SQL, jointures, index, transactions, JSONB, EXPLAIN et conception de schémas.
14 leçons, dans l’ordre
- 120 min
Qu'est-ce que PostgreSQL
Imaginez que vous suivez chaque client, chaque commande et chaque produit d'une petite boutique dans un tableur. Cela fonctionne, jusqu'au jour où...
Relational databaseACIDMVCCPostgres vs MySQL vs SQLiteWhere Postgres shines - 225 min
psql et premières commandes
Vous savez maintenant à quoi sert Postgres. La question suivante est plus concrète : comment lui parler pour de bon ? Un serveur Postgres qui tourne...
Psql command line clientConnecting as postgres userMeta commands like \l \c \dt \d \qSemicolons end statementsMultiline queriesSELECT version() - 330 min
Création de bases de données et de tables
Jusqu'ici vous vous êtes contenté d'explorer un serveur monté par quelqu'un d'autre. C'est très bien pour apprendre les outils, mais cela ne vous...
CREATE DATABASECREATE TABLEPRIMARY KEYNOT NULLDEFAULTDROP TABLE+1 - 425 min
Types de données
Chaque colonne que vous avez créée jusqu'ici portait un type, TEXT, SERIAL, TIMESTAMPTZ, sans qu'on vous explique vraiment pourquoi celui-là et pas...
Integer and bigintNumeric vs floatText and varcharBooleanTimestamptz vs timestampDate+3 - 530 min
SELECT et WHERE
Vous avez une table de quelques milliers de lignes et il vous en faut sept. Pas toutes, pas les cent premières : les sept qui répondent à une règle...
SELECT specific columnsWHERE with AND ORBETWEENINLIKE and ILIKEIS NULL+2 - 635 min
Joins
Vos données ne tiennent pas dans une seule table, et c'est très bien ainsi. Les utilisateurs vivent dans users, leurs posts vivent dans posts, et la...
INNER JOINLEFT JOINRIGHT JOINFULL OUTER JOINSelf joinUSING vs ON - 730 min
Agrégats et regroupement
Quelqu'un vous demande comment la boutique s'est comportée le mois dernier. Cette personne ne veut pas les quatre mille lignes de commandes. Elle...
COUNTSUMAVGMINMAXGROUP BY+3 - 835 min
Index
La requête tournait très bien sur votre portable, avec deux cents lignes de test. En production, sur quatre millions, la même requête met onze...
B-tree defaultCREATE INDEXMulti-column indexPartial index WHERE activeUnique indexWrite cost+1 - 935 min
Transactions et Isolation
Deux instructions UPDATE transfèrent de l'argent d'Alice vers Bob. La première s'exécute, la connexion tombe, la seconde n'a jamais lieu, et trente...
BEGIN COMMIT ROLLBACKSavepointsREAD COMMITTED defaultREPEATABLE READSERIALIZABLEDirty read non-repeatable read phantom read serialization anomaly - 1035 min
Functions et Triggers
Chaque table de votre schéma a une colonne updated_at, et chacune d'elles ment. Pas toujours, seulement sur les chemins de code où quelqu'un a oublié...
CREATE FUNCTIONLANGUAGE plpgsqlRETURNSCREATE TRIGGERBEFORE UPDATENEW and OLD+1 - 1135 min
JSONB et tableaux
Certaines données refusent de tenir en place dans des colonnes. Une table de produits où les portables ont une quantité de RAM, les claviers un type...
JSONB column-> operator->> operator@> contains operatorGIN index on jsonbText[] and integer[] arrays+2 - 1235 min
EXPLAIN et optimisation des requetes
Une page qui se chargeait instantanément met maintenant neuf secondes, et le réflexe est de se mettre à deviner. Ajouter un index ici. Réécrire la...
EXPLAINEXPLAIN ANALYZESeq scan vs index scan vs index-only scanFixing a missing indexPg_stat_statements overview - 1325 min
Sauvegarde et restauration
La tâche de nuit écrit un fichier sur le disque depuis huit mois et personne ne l'a jamais ouvert. Ce n'est pas une sauvegarde, c'est un fichier...
Pg_dump custom formatPg_restorePlain SQL dumpsPoint-in-time recovery overview - 1460 min
Projet final : Concevoir un schéma
Jusqu'ici, chaque leçon vous tendait une table et vous demandait de l'interroger. Le vrai travail va dans l'autre sens : quelqu'un décrit un produit,...
Schema designPrimary and foreign keysIndexes on hot columnsUpdated_at triggerJSONB metadataJoins with aggregates+1
Apprenez PostgreSQL dans votre langue
Chaque leçon, quiz et réponse du tuteur s’affiche dans votre langue. Le tuteur IA répond dans la langue que vous utilisez.
Roles that use PostgreSQL
See how hiring teams interview engineers on PostgreSQL, in production-like environments.
Database Administrator (DBA)
Hire DBAs in real workspaces with PostgreSQL or MySQL, real replication lag, real slow queries and real backups to restore. Live or take-home.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewData Engineer
Hire data engineers in workspaces with real Spark, dbt and Airflow pipelines. Schema drift, bad data and reruns included.
See the interview