PostgreSQL
PostgreSQL von Grund auf lernen. SQL-Grundlagen, Joins, Indizes, Transaktionen, JSONB, EXPLAIN und Schema-Design.
14 Lektionen, der Reihe nach
- 120 Min.
Was ist PostgreSQL
Stell dir vor, du führst jeden Kunden, jede Bestellung und jedes Produkt eines kleinen Ladens in einer Tabellenkalkulation. Das funktioniert, und...
Relational databaseACIDMVCCPostgres vs MySQL vs SQLiteWhere Postgres shines - 225 Min.
psql und erste Befehle
Du weißt jetzt, wofür Postgres da ist. Die nächste Frage ist praktischer: Wie redest du eigentlich mit ihm? Ein laufender Postgres-Server sitzt...
Psql command line clientConnecting as postgres userMeta commands like \l \c \dt \d \qSemicolons end statementsMultiline queriesSELECT version() - 330 Min.
Datenbanken und Tabellen erstellen
Bisher hast du dich nur auf einem Server umgesehen, den jemand anderes aufgesetzt hat. Zum Kennenlernen der Werkzeuge ist das in Ordnung, aber in...
CREATE DATABASECREATE TABLEPRIMARY KEYNOT NULLDEFAULTDROP TABLE+1 - 425 Min.
Datentypen
Jede Spalte, die du bisher angelegt hast, hatte einen Typ an sich hängen, TEXT, SERIAL, TIMESTAMPTZ, ohne viel Erklärung, warum dieser Typ und nicht...
Integer and bigintNumeric vs floatText and varcharBooleanTimestamptz vs timestampDate+3 - 530 Min.
SELECT und WHERE
Du hast eine Tabelle mit ein paar tausend Zeilen und brauchst sieben davon. Nicht alle, nicht die ersten hundert, sondern die sieben, die zu einer...
SELECT specific columnsWHERE with AND ORBETWEENINLIKE and ILIKEIS NULL+2 - 635 Min.
Joins
Deine Daten liegen nicht in einer einzigen Tabelle, und das sollen sie auch nicht. Benutzer stehen in users, ihre Beiträge in posts, und das Einzige,...
INNER JOINLEFT JOINRIGHT JOINFULL OUTER JOINSelf joinUSING vs ON - 730 Min.
Aggregate und Gruppierung
Jemand fragt dich, wie der Shop letzten Monat gelaufen ist. Die viertausend Bestellzeilen will diese Person nicht. Sie will eine Zahl, vielleicht...
COUNTSUMAVGMINMAXGROUP BY+3 - 835 Min.
Indexes
Auf deinem Laptop mit zweihundert Testzeilen lief die Abfrage einwandfrei. In Produktion, gegen vier Millionen, braucht dieselbe Abfrage elf Sekunden...
B-tree defaultCREATE INDEXMulti-column indexPartial index WHERE activeUnique indexWrite cost+1 - 935 Min.
Transactions und Isolation
Zwei UPDATE-Anweisungen buchen Geld von Alice zu Bob. Die erste läuft durch, die Verbindung bricht ab, die zweite kommt nie an die Reihe, und dreißig...
BEGIN COMMIT ROLLBACKSavepointsREAD COMMITTED defaultREPEATABLE READSERIALIZABLEDirty read non-repeatable read phantom read serialization anomaly - 1035 Min.
Functions und Triggers
Jede Tabelle in deinem Schema hat eine updated_at-Spalte, und jede einzelne davon ist falsch. Nicht immer, sondern genau auf den Code-Pfaden, auf...
CREATE FUNCTIONLANGUAGE plpgsqlRETURNSCREATE TRIGGERBEFORE UPDATENEW and OLD+1 - 1135 Min.
JSONB und Arrays
Manche Daten lassen sich nicht in Spalten pressen. Eine Produkttabelle, in der Laptops eine RAM-Größe haben, Tastaturen einen Schaltertyp und...
JSONB column-> operator->> operator@> contains operatorGIN index on jsonbText[] and integer[] arrays+2 - 1235 Min.
EXPLAIN und Query-Optimierung
Eine Seite, die früher sofort da war, braucht plötzlich neun Sekunden, und der erste Impuls ist zu raten. Hier noch ein Index. Den Join umschreiben....
EXPLAINEXPLAIN ANALYZESeq scan vs index scan vs index-only scanFixing a missing indexPg_stat_statements overview - 1325 Min.
Sichern und Wiederherstellen
Der nächtliche Job schreibt seit acht Monaten eine Datei auf die Festplatte, und niemand hat sie je geöffnet. Das ist kein Backup, das ist eine Datei...
Pg_dump custom formatPg_restorePlain SQL dumpsPoint-in-time recovery overview - 1460 Min.
Abschlussprojekt: Ein Schema entwerfen
Bisher hat dir jede Lektion eine Tabelle vorgesetzt und dich abfragen lassen. In der echten Arbeit läuft es andersherum: Jemand beschreibt ein...
Schema designPrimary and foreign keysIndexes on hot columnsUpdated_at triggerJSONB metadataJoins with aggregates+1
Lerne PostgreSQL in deiner Sprache
Jede Lektion, jedes Quiz und jede Tutor-Antwort erscheint in deiner Sprache. Der KI-Tutor antwortet in der Sprache, in der du fragst.
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