PostgreSQL

Aus Matts Wiki

Ein open-source, objekt-relationales Datenbank-System.

Ursprünglich 1986 an der Universität Berkeley in Californien entwickelt.

Features

  • ACID-Compliance
  • Transactional
  • Concurrent
  • Row Level Security
  • Unterstützung von
    • Strukturierte Datentypen
    • Benutzerdefinierte Datentypen
    • Multidimensionale Arrays
    • Geometrie
    • Key-Value-Speicher
    • Dokumente: JSON-Daten
    • Volltextsuche
    • Materialized Views
  • Erweiterbarkeit durch Mods
    • pgvector: Hybride Vector-Datenbank-Suche
    • PostGIS
    • PostgREST
    • pg_graphql

Architektur

Client-Server-Architektur

Server Hauptprozess namens Postmaster erstellt einen Backendprozess für jede Verbindung.

Storage

Daten auf Festplatte werden in einem Verzeichnis namens Data Cluster gespeichert, das die

  • Datenbanken
  • Schemas
  • Tabellen
  • Indizes
  • WALs (Write Ahead Logging Logs)

enthält.

Datenspeichermodell

Jede Tabelle ist gespeichert in einem oder mehreren Heap Files.

Heap File wird 8 kB Seiten-weise auf Festplatte gespeichert.

Eine Seite kann mehrere Zeilen einer Tabelle enthalten.

Sie enthält Metadaten, Referenzen und Tupel, was die Postgres-interne Repräsentation von Zeilen ist.

Durch die Nutzung von Heaps werden Tupel in nicht geordneter Weise auf Festplatte gespeichert.

TOAST-Technik

TOAST steht für The Oversized-Attribute Storage Technique.