Direkt zum Inhalt
Urkunden
JSON-FunktionenTabellen & Schema ManagementMathe-FunktionenDatenbankenString-FunktionenAuslöserIndizesDatum FunktionenBasic Syntax

JSON-Funktionen

Moderne Anwendungen arbeiten oft mit flexiblen, verschachtelten und halbstrukturierten Daten. Von Benutzereinstellungen bis hin zu API-Antworten hat sich das JSON-Format als Standard für solche Fälle etabliert. Zum Glück bietet PostgreSQL eine erstklassige Unterstützung für JSON, so dass du JSON-Daten direkt in deiner Datenbank speichern, abfragen und umwandeln kannst.

In diesem Überblick erfahren wir, was PostgreSQL JSON-Funktionen sind, warum sie nützlich sind und wie sie in realen Projekten eingesetzt werden.

Was sind JSON-Funktionen in PostgreSQL?

PostgreSQL unterstützt zwei Typen für die Speicherung von JSON-Daten: JSON und JSONB. Während JSON die Daten als Text speichert, speichert JSONB sie in einem binären Format, das für die Indexierung und Abfrage effizienter ist.

Um mit diesen Daten zu arbeiten, bietet PostgreSQL eine Vielzahl von JSON-Funktionen und Operatoren. Damit kannst du Werte extrahieren, JSON-Dokumente durchsuchen, Strukturen umwandeln und sogar JSON-Objekte in Echtzeit erstellen.

Egal, ob du verschachtelte Schlüssel liest oder die Ergebnisse nach dynamischen Feldern filterst, diese Funktionen geben dir die volle Kontrolle über JSON-Inhalte in deinen SQL-Abfragen.

Warum sind JSON-Funktionen nützlich?

In vielen Fällen sind relationale Tabellen mit festen Spalten nicht flexibel genug. Mit JSON kannst du komplexe und variable Datenstrukturen speichern, ohne dass du dein Schema jedes Mal neu entwerfen musst.

Die JSON-Funktionen von PostgreSQL sind nützlich, weil sie es dir ermöglichen:

  • Umgang mit unstrukturierten oder teilweise strukturierten Daten

  • Abfrage von tief verschachtelten Werten ohne Aufteilung der Daten in mehrere Tabellen

  • Benutzerspezifische Einstellungen, Protokolle oder dynamische Metadaten speichern

  • Erstelle flexible APIs direkt aus deiner Datenbank

  • Vermeide eine Übernormierung von Daten, die nicht in ein strenges relationales Modell passen

Und da PostgreSQL die JSON-Unterstützung in seine SQL-Engine integriert hat, brauchst du die Daten nicht in andere Tools zu verschieben, um sie zu parsen oder zu analysieren.

Anwendungsfälle aus der realen Welt

PostgreSQL JSON-Funktionen sind besonders wertvoll in:

  • Web- und mobile Anwendungen, bei denen die Benutzerpräferenzen oder App-Einstellungen variieren

  • Logging-Systeme, bei denen verschiedene Ereignisse unterschiedliche Felder enthalten können

  • APIs, bei denen die Daten im JSON-Format empfangen oder bereitgestellt werden

  • Data Lakes oder ETL-Prozesse, bei denen die eingehenden Datenstrukturen noch nicht standardisiert sind

  • Produktkataloge, in denen Artikel unterschiedliche Attribute haben können

Diese Flexibilität ermöglicht es den Teams, sich schneller zu bewegen, ohne die Struktur oder Leistung zu beeinträchtigen.

Was wirst du in diesem Abschnitt lernen?

In diesem Teil der Dokumentation behandeln wir die wichtigsten JSON-Funktionen und Operatoren, die in PostgreSQL verfügbar sind. Zu den Themen gehören:

  • Die Wahl zwischen JSON und JSONB

  • Zugriffsoperatoren wie ->, ->>, #> und #>> verwenden, um Werte zu extrahieren

  • Mit Funktionen wie jsonb_array_elements() und jsonb_each() arbeiten, um verschachtelte Arrays oder Objekte zu entpacken

  • Abfragen und Filtern von JSON-Daten mithilfe von Bedingungen

  • Erstellen und Aggregieren von JSON mit Funktionen wie json_build_object() oder json_agg()

  • Indizierungsstrategien für JSON-Spalten, insbesondere mit GIN-Indizes

Jede Funktion wird mit Beispielen und Best Practices vorgestellt, damit du weißt, wie und wann du sie einsetzen kannst.