HeapDeck: Postgres® Monitor für das iPhone

Sehen, was in Ihrem Postgres brennt.Den Brand löschen.

Postgres-Alarm, und der Laptop liegt zu Hause? HeapDeck zeigt, wer blockiert, wie nah wraparound ist und welcher Standby zurückfällt, und lässt Sie dann vom iPhone aus eingreifen. Jetzt den Schaden begrenzen, gründlich reparieren später am Schreibtisch.

Free · Pro 29,99 $ einmalig · PostgreSQL 13–18 · iOS 17+ · iPhone

HeapDeck-Bildschirm „Zustand“ eines Produktionsservers im Status „Kritisch“: zuerst blockierte Sitzungen, dann Verbindungen, die längste Abfrage, wraparound und Replikation

Sehen, wer in Postgres alle blockiert. Die Wurzel abbrechen – mit Vorschau.

„Sperren“ baut den Sperrbaum aus pg_blocking_pids() und stellt den Wurzel-Blocker nach oben: seine pid, user@app, wie lange er die Sperre schon hält und was er ausführt. Darunter jede Sitzung, die in der Warteschlange festhängt.

  • Wurzel abbrechen (gibt N frei) zeigt, wie viele Sitzungen dahinter festhängen, und listet ihre pids auf, bevor Sie bestätigen. PRO
  • Bevor HeapDeck etwas sendet, liest es die Kette erneut. Hat sie sich geändert, während Sie entschieden haben, sehen Sie die neuen Zahlen und bestätigen noch einmal.
  • Abbrechen stoppt die laufende Abfrage. Beenden trennt die Sitzung und rollt ihre Transaktion zurück, nachdem Sie ihre pid eingetippt haben. PRO
  • Jede wartende Sitzung zeigt, worauf sie wartet, etwa RowExclusiveLock on public.orders. Eine Wurzel im Zustand idle in transaction wird markiert, ein Deadlock als solcher gekennzeichnet.
Bildschirm „Sperren“: Der Wurzel-Blocker ist seit 06:48 min im Leerlauf innerhalb einer Transaktion und blockiert vier Sitzungen; darunter die Schaltfläche „Wurzel abbrechen (gibt 4 frei)“

Den wraparound-Stand in % kennen, bevor Postgres keine Schreibzugriffe mehr annimmt.

„Vacuum & Aufblähung“ zeigt, wie nah der Server am wraparound der Transaktions-IDs ist, als Anteil an 2³¹, und die ältesten Tabellen nach dem Alter von relfrozenxid. Am Limit verweigert PostgreSQL Schreibzugriffe mit database is not accepting commands to avoid wraparound data loss.

  • Ab 75 % sagt der Bildschirm es klar und nennt die üblichen Gründe, warum autovacuum nicht hinterherkommt: eine lange offene Transaktion, ein inaktiver Replikationsslot, ein hängender Worker.
  • Tote Zeilen pro Tabelle, mit ihrem Anteil und dem Zeitpunkt des letzten Vacuum-Laufs.
  • Ungenutzte Indizes mit dem Platz, den sie belegen. HeapDeck kopiert Ihnen DROP INDEX CONCURRENTLY und führt es nie selbst aus.
  • Starten Sie VACUUM (ANALYZE) oder ANALYZE für eine Tabelle aus der Liste. Vor VACUUM FULL tippen Sie zuerst den Tabellennamen ein. PRO
Bildschirm „Vacuum & Aufblähung“: wraparound der Transaktions-IDs bei 86 %, die Warnung, dass die Datenbank bei 100 % keine Schreibzugriffe mehr annimmt, und drei wahrscheinliche Ursachen

Ihr Postgres über Ihren Bastion-Host, mit den Rechten, die Ihre Rolle schon hat.

HeapDeck verbindet sich vom iPhone mit Ihrem Server, direkt oder über Ihren SSH-Bastion-Host. Dazwischen gibt es keinen HeapDeck-Server und kein Konto. Der AI-Assistent spricht, falls Sie ihn einrichten, nur mit dem Anbieter Ihrer Wahl und nutzt Ihren eigenen Schlüssel.

  • SSH-Tunnel mit Passwort oder Ed25519-Schlüssel. Der Hostschlüssel des Bastion-Hosts wird bei der ersten Verbindung gepinnt.
  • TLS standardmäßig mit sslmode=require. Der SHA-256-Fingerabdruck des Zertifikats wird gepinnt, und ein geändertes Zertifikat stoppt die Verbindung, bis Sie entscheiden.
  • Passwörter, Schlüssel und Fingerabdrücke bleiben im Keychain auf diesem iPhone und werden nie synchronisiert. Face ID entsperrt die App.
  • Kein Superuser? HeapDeck zeigt statt eines leeren Bildschirms genau das GRANT pg_monitor, das es braucht.
Dialog „Diesen Server prüfen“ bei der ersten Verbindung: der SHA-256-Fingerabdruck des Serverzertifikats zum Abgleich mit Ihren Unterlagen, bevor Sie ihm vertrauen

Die Bildschirme, die Sie bei einem Postgres-Vorfall öffnen

Auf „Zustand“ zehn Kacheln, hinter jeder ein nativer Bildschirm – so tippen Sie nie psql auf einer Handytastatur. Die SQL-Konsole ist da, wenn Sie sie brauchen, und prüft jede Anweisung, bevor sie läuft.

  • Zustand

    Ein Gesamturteil und zehn Kacheln: Sitzungen im Verhältnis zu max_connections, blockierte Sitzungen, die längste Abfrage, TPS, Cache-Treffer, autovacuum, wraparound, Replikation, Datenbankgröße und langsame Abfragen. Aktualisiert sich alle 10 Sekunden, solange der Bildschirm offen ist.

  • Aktivität

    Jede Sitzung aus pg_stat_activity, wartende zuerst. Filtern nach aktiv, idle in transaction, länger als 10 s oder wartend. Wischen Sie über eine Zeile, um abzubrechen oder zu beenden.

  • Replikation und Slots

    Replay-Verzögerung je Standby, aufgeschlüsselt nach WAL-Phase. Jeder Slot mit dem WAL, das er zurückhält, und eine Warnung, wenn ein inaktiver Slot Ihre Platte füllt.

  • Langsame Abfragen

    Die 300 teuersten Anweisungen aus pg_stat_statements, sortiert nach Gesamtzeit, Mittelwert, Aufrufen oder Zeilen, und die Sitzungen, die gerade eine davon ausführen (PostgreSQL 14+).

  • Daten und SQL-Konsole

    Tabellen durchsuchen, auf dem Server filtern, Fremdschlüsseln folgen, eine Seite als CSV oder JSON exportieren. Die Konsole stuft jede Anweisung schon beim Tippen ein; in Free laufen Lesezugriffe in BEGIN READ ONLY.

  • AI-Assistent PRO

    Erklärt einen Vorfall oder eine Sperrkette und entwirft die Lösung – mit Ihrem eigenen API-Schlüssel oder Ihrem eigenen Ollama. Er bekommt einen bereinigten Snapshot und führt nie selbst etwas aus.

HeapDeck 1.0 mit Beispieldaten, hell und dunkel wie iOS.

Postgres-Monitoring ist kostenlos. Pro ist ein einziger Kauf.

Testen Sie es zuerst an Ihrer eigenen Produktion: Kein Monitoring-Bildschirm steckt hinter einer Bezahlschranke, egal bei wie vielen Servern. Pro schaltet die Aktionen einmalig frei, für 29,99 $. Kein Abo, kein Konto.

Free

für immer

Auf die Produktion richten und alles sehen.

  • Alle Monitoring-Bildschirme: Zustand, Aktivität, Sperren, Vacuum & Aufblähung, Replikation, Speicher, Langsame Abfragen
  • Unbegrenzt viele Verbindungen mit TLS, SSH-Tunnel, gepinnten Fingerabdrücken und Face ID
  • Datenbrowser mit serverseitigen Filtern, Fremdschlüsseln, Export als CSV und JSON
  • SQL-Konsole für Lesezugriffe, in einer schreibgeschützten Transaktion
  • Der SQL-Klassifikator und seine Erklärungen

Pro

29,99 $

Einmalkauf

Für den Moment, in dem Sie handeln müssen.

  • Sitzungen abbrechen und beenden, die Wurzel einer Sperrkette abbrechen
  • VACUUM, ANALYZE und das Löschen eines Replikationsslots
  • Schreibzugriffe und DDL in der Konsole, abgesichert durch Bestätigungen
  • Zeilen einfügen, bearbeiten und löschen in Tabellen mit Primärschlüssel
  • Der AI-Assistent mit Ihrem eigenen Schlüssel oder Modell

Pro-Aktionen bleiben in Free sichtbar und sind mit PRO markiert, damit Sie sehen, was sie tun würden. Der Assistent funktioniert kostenlos am eingebauten Demo-Vorfall. Außerhalb der USA zeigt der App Store den Preis in Ihrer Währung.

Free · Pro 29,99 $ einmalig · PostgreSQL 13–18 · iOS 17+ · iPhone

Fragen zu HeapDeck und Postgres

Funktioniert HeapDeck mit Amazon RDS, Cloud SQL, Azure oder Supabase?

HeapDeck funktioniert mit jedem PostgreSQL 13–18, das Ihr iPhone erreicht, selbst betrieben oder gemanagt, Primary oder Standby. Wo Ihre Rolle kein Superuser ist, zeigen die Bildschirme, was verborgen ist, und das GRANT pg_monitor, das es behebt.

Managed-Anbieter signieren Zertifikate mit Root-CAs, die iOS nicht mitbringt. Nutzen Sie bei ihnen sslmode=require: Die Verbindung ist verschlüsselt, und HeapDeck pinnt den Fingerabdruck des Zertifikats bei der ersten Verbindung.

Erreicht es eine Datenbank hinter einem Bastion-Host?

Ja. Schalten Sie in der Verbindung den SSH-Tunnel ein und geben Sie Host und Benutzer des Bastion-Hosts sowie ein Passwort oder einen Schlüssel ein. Der Schlüssel muss ein unverschlüsselter Ed25519-Schlüssel im OpenSSH-Format sein; der eigene Hostschlüssel des Bastion-Hosts kann Ed25519 oder ECDSA sein und wird bei der ersten Verbindung gepinnt.

Version 1.0 unterstützt keine RSA-Schlüssel, keine passphrasegeschützten Schlüssel, keine Einmalcodes und keine Ketten von Jump-Hosts.

Verlassen meine Zugangsdaten oder meine Daten das iPhone?

HeapDeck verbindet sich direkt mit Ihrem Server oder über Ihren SSH-Bastion-Host. Es gibt keinen HeapDeck-Server und kein Konto. Passwörter, SSH-Schlüssel und gepinnte Fingerabdrücke bleiben im iOS Keychain auf diesem Gerät, ohne iCloud-Synchronisierung.

Zwei Dinge können das Telefon verlassen, beide unter Ihrer Kontrolle: eine Frage an den AI-Anbieter, den Sie eingerichtet haben (Pro), sowie Absturzberichte und Nutzungszahlen, die Sie beim ersten Start oder in den Einstellungen abschalten können. Keines von beiden enthält SQL, Tabellennamen, Hostnamen, Werte oder Zugangsdaten. Details stehen in der Datenschutzerklärung.

Brauche ich Superuser-Rechte?

Nein. Eine Rolle mit pg_monitor deckt die Monitoring-Bildschirme ab: GRANT pg_monitor TO your_role;. Ohne sie funktioniert HeapDeck trotzdem und kennzeichnet, was der Server vor Ihrer Rolle verbirgt. Um Sitzungen anderer Rollen abzubrechen, brauchen Sie die üblichen PostgreSQL-Rechte, etwa pg_signal_backend.

Abbrechen oder beenden – was wann?

Abbrechen (pg_cancel_backend) stoppt die Abfrage, die eine Sitzung gerade ausführt; Sitzung und Transaktion bleiben offen. Beenden (pg_terminate_backend) trennt die ganze Sitzung und rollt ihre Transaktion zurück.

Eine Sitzung im Zustand idle in transaction führt keine Abfrage aus, Abbrechen bewirkt bei ihr also nichts: Erst Beenden gibt ihre Sperren frei. Bevor Sie die Wurzel einer Sperrkette oder eine Sitzung auf einer als Produktion markierten Verbindung beenden, verlangt HeapDeck die Eingabe der pid.

Kann HeapDeck meine Datenbank kaputt machen?

Free schreibt überhaupt nicht: Lesezugriffe in der Konsole laufen in BEGIN READ ONLY … ROLLBACK. Mit Pro durchläuft jeder Schreibzugriff vier Prüfungen in dieser Reihenfolge: Pro, den Schalter „Schreibgeschützt“ der Verbindung, den SQL-Klassifikator und Ihre Bestätigung.

Bei VACUUM FULL, beim Löschen eines Slots und beim Beenden der Wurzel einer Sperrkette tippen Sie zuerst den Tabellennamen, den Slotnamen oder die pid ein. Eine als Produktion markierte Verbindung bekommt das Badge PROD und strengere Bestätigungen.

Warum nicht einfach per SSH einloggen und psql starten?

Das können Sie weiterhin. HeapDeck gibt jeder Frage, die sich bei einem Vorfall stellt, einen eigenen Bildschirm, damit Sie keine Abfragen auf der Handytastatur tippen: wer blockiert und wie viele warten, was die Wurzel ausführt, wie nah wraparound ist, welcher Slot WAL zurückhält. Vor jeder Aktion liest es die Sperrkette erneut und bittet Sie um Bestätigung.

Was sieht der AI-Assistent?

Einen bereinigten Snapshot des Bildschirms, zu dem Sie gefragt haben. Host, Port, Passwörter und Schlüssel sind nie darin enthalten, und Werte werden zu Platzhaltern wie $1. Bei Cloud-Modellen sind Datenbank-, Tabellen- und Spaltennamen standardmäßig ausgeblendet und werden auf Ihrem Telefon wieder eingesetzt, wenn die Antwort ankommt.

Anfragen gehen von Ihrem iPhone mit Ihrem eigenen Schlüssel an den Anbieter Ihrer Wahl (Anthropic, OpenAI, OpenRouter, Z.ai) oder an Ihr eigenes Ollama bzw. Ihren eigenen OpenAI-kompatiblen Server. „Was das Modell sieht“ zeigt den genauen Text, bevor Sie ihn senden. Der Assistent gehört zu Pro und führt nie selbst SQL aus.

Gibt es ein Abo?

Nein. Monitoring ist kostenlos, und Pro ist ein einmaliger Kauf für 29,99 $, gebunden an Ihre Apple ID. Es gibt kein Konto und keine ablaufende Testphase.

Alarmiert es mich, wenn etwas kaputtgeht?

Nein. HeapDeck arbeitet, solange es geöffnet ist, und überwacht nichts im Hintergrund. Behalten Sie Ihr Alerting, wo es ist: HeapDeck ist der Bildschirm, den Sie nach dem Alarm öffnen.

Läuft es auf dem iPad?

HeapDeck ist für das iPhone im Hochformat gemacht. Auf dem iPad läuft es im iPhone-Kompatibilitätsmodus.

Anleitungen für Postgres-Vorfälle

Die Probleme, die Sie nachts wecken, je eine Seite: das SQL zum Prüfen von Hand und was HeapDeck zeigt. Die Anleitungen sind auf Englisch.

Aus dem Blog

Alle Beiträge

Holen Sie es sich aufs iPhone, bevor der nächste Postgres-Vorfall kommt.

Server hinzufügen, Zertifikat pinnen – und alle Monitoring-Bildschirme gehören Ihnen, kostenlos. Pro ist für die Nacht da, in der Sie handeln müssen.

Free · Pro 29,99 $ einmalig · PostgreSQL 13–18 · iOS 17+ · iPhone