PGSimCity: PostgreSQL-Interna als begehbare 3D-Stadt
Dieses Projekt rundet „An explorable 3D city that shows how Postgres actually works. PGSimCity An explorable 3D city that shows how PostgreSQL actually works.** PGSimCity turns a PostgreSQL cluster into a city you can inspect, walk through, and break.“ zu einer praxistauglichen Open-Source-Lösung zusammen, mit wiederverwendbarer Tooling- und Integrationsunterstützung für reale Anwendungsfälle.
Auf einen Blick
- Was ist das?
- Eine pädagogische Visualisierung, die einen PostgreSQL-Cluster als Stadt abbildet, die man inspizieren, durchlaufen und brechen kann, mit expliziten Genauigkeitsgrenzen.
- Für wen ist es gedacht?
- PGSimCity ist eine frühe, ausdrücklich als Modell gekennzeichnete Visualisierung von PostgreSQL 18, kein Emulator; ihr Wert liegt darin, unsichtbare Mechanismen beobachtbar zu machen. Das README verweist auf ROADMAP, eine Korrekturvorlage und Pull-Requests für die weitere Genauigkeitsarbeit.
- Darf ich es kommerziell nutzen?
- Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 3 Tagen.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Einen PostgreSQL-Cluster als Stadt zeichnen
PGSimCity ist eine begehbare 3D-Stadt, die einen PostgreSQL-Cluster auf Gebäude, Bezirke und Bedienelemente abbildet. Das README beschreibt sie als Möglichkeit zu zeigen, wie PostgreSQL tatsächlich funktioniert, gerichtet an Ingenieure, die noch nie eine Datenbank betrieben haben. Es ist eine unabhängige, nicht-kommerzielle Bildungsvisualisierung, nicht mit Electronic Arts oder dem PostgreSQL-Projekt verbunden, und enthält keine SimCity-Code, -Assets oder -Spielinhalte. Eine Live-Stadt läuft unter https://nikolays.github.io/PGSimCity/ ohne Installation. Die Stadt ist ein Modell, kein Emulator: In ihr läuft kein PostgreSQL-Quellcode, und die Zahlen sind skaliert, damit ein Mensch sie beobachten kann. Prüfpunkt 1 für nikolays-pgsimcity-deep-analysis: Die konkrete Ausgabe von dem Startbefehl ist zu dokumentieren.
Wie viel Vertrauen in die Simulation
Das README bezeichnet das Projekt als 0.x und früh. Es zielt auf die PostgreSQL-18-Hauptlinie, mit PostgreSQL 18.4 als geprüfter Referenzversion; Mechanismen folgen REL_18_STABLE. Eine offengelegte Vereinfachung: Der TypeScript-Puffer-Sample verwendet einen festen 32-Frame-Ring, was laut README nicht der Ringgrößenregel von PostgreSQL 18 entspricht. Vier Prüfrunden fanden statt: Drei Fachprüfungen verglichen PostgreSQL-Verhalten mit Doku und Quellcode, eine separate Prüfung behandelte Gebäude, Nachbarschaften und Animationen als Behauptungen. Die deterministische Testsuite fixiert bestimmte Näherungen; ein roter Test lässt CI fehlschlagen. Bekannte Einschränkung: Touch-Steuerung wurde nur in Chromes mobilem Emulationsmodus verifiziert. Das Projekt akzeptiert Korrekturen über Vorlage und Pull-Requests. Prüfpunkt 2 für nikolays-pgsimcity-deep-analysis: Die konkrete Ausgabe von der Konfiguration ist zu dokumentieren.
Die Stadt lesen: Bezirke und Farben
Die Stadt ist in Bezirke gegliedert: Client-Sky für eingehende Verbindungen, Postmaster, eine Backend-Reihe mit 16 Prozessen, der Pufferpool mit shared_buffers und wal_buffers, die Ausgrabung als Datenverzeichnis, Speicher mit Heap-Dateien und B-Bäumen, der WAL-Bezirk, der Wartungshof, Standbys, der Kontinuitätsbereich und ein Query-Labor über den Backends. Farbe trägt überall Bedeutung: WAL ist amber, schmutzige Seiten rot, saubere Seiten blau, Vakuum violett, Checkpoints pink, Hintergrundschreiber türkis, Replikation orange, Speicher grün, Indizes aqua, Sperren rot. Jeder Inspektor benennt materiale Vereinfachungen an der Stelle, wo sie relevant sind. Prüfpunkt 3 für nikolays-pgsimcity-deep-analysis: Die konkrete Ausgabe von dem Startbefehl ist zu dokumentieren.
Geführte Touren, Szenarien und Steuerung
Die Taste T startet eine 14-Kapitel-Tour, die einer Verbindung durch Planung, Caching, WAL, Checkpoints, Vakuum und Replikation folgt. Enter öffnet die Statement-Verfolgung, mit einem Non-HOT-UPDATE-Beispiel. Szenarien umfassen Cache thrash (setzt shared_buffers auf 16 MiB), The work_mem cliff, Long-running transaction, Checkpoint storm, synchronous_commit aus, und Slow replay. Kamera- und Tastensteuerung sind umfangreich, einschließlich Flug- und Gehmodus sowie Befehlspalette. Barrierefreiheit: PostgreSQL-Lektionen haben Tastatur- und Text-first-Routen, aber die 3D-Szene und der Ego-Gang haben keine nichtvisuelle Entsprechung, laut ACCESSIBILITY.md. Prüfpunkt 4 für nikolays-pgsimcity-deep-analysis: Die konkrete Ausgabe von der Konfiguration ist zu dokumentieren.
Architektur und Technologie-Stack
Der Quellcode ist in src/core, sim, world, engine, ui, observability und ein separates machine-Verzeichnis aufgeteilt. Drei Regeln halten ihn zusammen: world/layout.ts ist die einzige Quelle für Geografie; die Simulation importiert nie three.js, und die world mutiert nie die Simulation, sie treffen sich in SimState; Rendering transportiert Bedeutung je nach Thema unterschiedlich. Der Stack ist three.js r185, TypeScript und Vite, ohne Framework, mit three.js als einziger gebündelter Laufzeitabhängigkeit. Query-Flow und Machine können PGlite nach Opt-in lazy laden. window.PGSIMCITY stellt sim, registry, bus, rig, gfx und flows für externe Steuerung bereit. Prüfpunkt 5 für nikolays-pgsimcity-deep-analysis: Die konkrete Ausgabe von dem Startbefehl ist zu dokumentieren.
Lokal ausführen und Datenschutz
Für lokale Ausführung braucht man Node.js ^20.19.0 oder >=22.12.0 und einen Browser mit WebGL2. Befehle aus dem README: npm install, npm run dev (http://localhost:5173), npm test, npm run typecheck, npm run build, npm run preview (http://localhost:4173). Es gibt keinen Anwendungsserver; das Build ist ein statisches Bundle. Plausible Analytics ist der einzige externe Dienst, aggregiert und cookie-frei; es erfasst Seitenaufrufe, eindeutige Besucher und Interaktionen wie Tourstart oder Statement-Trace. Es sendet keine personenbezogenen Daten oder Fingerabdrücke. Das Blockieren von plausible.io stoppt die Messung, ohne die Anwendung zu beeinträchtigen. Prüfpunkt 6 für nikolays-pgsimcity-deep-analysis: Die konkrete Ausgabe von der Konfiguration ist zu dokumentieren.
Lizenz und Roadmap
Das Projekt ist unter Apache-2.0 lizenziert, Copyright 2026 Nikolay Samokhvalov, mit einer NOTICE-Datei. Der Lizenztext gewährt eine unbefristete, weltweite, nicht-exklusive, kostenlose, unwiderrufliche Urheberrechtslizenz zur Vervielfältigung, Erstellung abgeleiteter Werke, öffentlichen Ausstellung, Aufführung, Unterlizenzierung und Verbreitung. Er enthält keine Aussagen zu Garantie, Support oder Sicherheitslage. Das README verweist auf ROADMAP.md, das laufende Arbeiten, bekannte Fehler und bewusst nicht getane Dinge auflistet, und bietet eine Korrekturvorlage und Pull-Request-Link. Marken: PostgreSQL ist eine Marke der PostgreSQL Community Association of Canada, SimCity eine Marke von Electronic Arts. Prüfpunkt 7 für nikolays-pgsimcity-deep-analysis: Die konkrete Ausgabe von dem Startbefehl ist zu dokumentieren.
Redaktionelles Fazit
PGSimCity ist eine frühe, ausdrücklich als Modell gekennzeichnete Visualisierung von PostgreSQL 18, kein Emulator; ihr Wert liegt darin, unsichtbare Mechanismen beobachtbar zu machen. Das README verweist auf ROADMAP, eine Korrekturvorlage und Pull-Requests für die weitere Genauigkeitsarbeit. Geeignet ist es nur, wenn diese konkreten Voraussetzungen zur eigenen Umgebung passen.
Community-Notizen