[go: up one dir, main page]

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 und wie nah der Server an wraparound ist, und Sie greifen vom iPhone aus ein. Den Vorfall am Telefon eindämmen, die Ursache am Schreibtisch beheben.

Laden im App Store
Zum Öffnen auf dem iPhone scannen

Free · Pro 22,99 € einmalig · PostgreSQL 13–19 · iOS 17+ · iPhone und iPad

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 stoppen – 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.

  • Die Schaltfläche der Wurzel folgt ihrem Zustand: Wurzel abbrechen, solange sie eine Anweisung ausführt, Wurzel beenden, wenn sie idle in transaction ist. Die Zahl auf der Schaltfläche zählt die Sitzungen, die auf die Wurzel selbst warten, und die Bestätigung listet ihre pids auf. PRO
  • Bevor HeapDeck etwas sendet, liest es die Kette erneut und fragt noch einmal nach, wenn sich die Zahlen geändert haben. Danach meldet es, was es gemessen hat: wie viele Sitzungen es freigegeben hat und wie viele noch warten.
  • Abbrechen stoppt die laufende Abfrage. Beenden schließt die Sitzung und rollt ihre Transaktion zurück, nachdem Sie die pid der Wurzel 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 beenden (gibt 2 frei)“ und warum ein Abbruch ignoriert würde

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 mit Passwort, mit Ed25519-, ECDSA- oder RSA-Schlüssel samt Passphrase oder mit einem Schlüssel für Secure Enclave, über bis zu drei Hosts. HeapDeck pinnt jeden Hostschlüssel bei der ersten Verbindung.
  • 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

Postgres-Probleme, die Sie vom iPhone aus lösen können

Jede Karte beginnt mit dem, was Sie im Fehlerfall sehen, und führt zu einer Anleitung mit dem SQL, den Schwellenwerten und dem passenden Bildschirm. Die Anleitungen sind auf Englisch.

All das sehen Sie auf einem Server kostenlos. Zum Beenden einer Sitzung, für VACUUM und zum Löschen eines Slots brauchen Sie Pro, einen einmaligen Kauf für 22,99 €.

Alle Szenarien

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

    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. Lautet das Gesamturteil „Warnung“ oder „Kritisch“, nennt es die Kacheln, die dazu führen. 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. Die Detailansicht einer Anweisung zeigt Rolle, Datenbank, Zeiten und I/O sowie die Sitzungen, die sie gerade 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.

Die eingebaute Demo von HeapDeck, hell und dunkel wie iOS.

Dialog „Blockierende Sitzung abbrechen“: pid 24310, eine Migration mit ALTER TABLE, seit 01:12 min aktiv; „Dadurch sollten 2 wartende Sitzungen freigegeben werden.“

Wurzel abbrechen Was frei wird, bevor Sie bestätigen.

Bildschirm „Vacuum & Aufblähung“: tote Zeilen pro Tabelle und sechs Indizes ohne Scans, insgesamt 34 GB

Vacuum & Aufblähung Tote Zeilen und ungenutzte Indizes mit dem Platz, den sie belegen.

Bildschirm „Aktivität“: Sitzungen mit Status, Wartezeit und SQL; die blockierende ist mit „blockierend: 4 Sitzungen“ markiert

Aktivität Wartende Sitzungen zuerst.

Bildschirm „Replikation“: zwei Standbys mit Replay-Verzögerung und die Warnung, dass ein inaktiver Slot PostgreSQL WAL für immer aufbewahren lässt

Replikation Verzögerung je Standby, Slots, die WAL zurückhalten.

Bildschirm „Langsame Abfragen“: Anweisungen nach Gesamtzeit sortiert, mit Aufrufen, mittlerer Zeit und Zeilen

Langsame Abfragen Aus pg_stat_statements.

Bildschirm „Aktivität“ für eine Rolle ohne pg_monitor: „Sie sehen Sitzungen, aber nicht deren SQL“, mit der Schaltfläche „Zeigen, wie“

Eingeschränkter Zugriff Kein pg_monitor? Die App sagt, was verborgen ist und wie Sie es beheben.

SQL-Konsole: DELETE FROM public.orders als „Destruktiv“ eingestuft, WHERE-Klausel fehlt, geschätzt 18,1 Mio. Zeilen

SQL-Klassifikator Sein Urteil über ein DELETE ohne WHERE.

Antwort des Assistenten: Eine Transaktion im Leerlauf hält eine Zeilensperre auf orders, sieben Sitzungen warten, dazu die vorgeschlagenen nächsten Schritte

AI-Assistent Er erklärt eine Sperrkette.

„Was das Modell sieht“: der Snapshot, der an das Modell geht, mit Namen, die durch Platzhalter wie table_1 ersetzt sind

Was das Modell sieht Der genaue Text, bevor Sie ihn senden.

Tab „Daten“: die Tabelle orders als Raster, angezeigt 200 von 18.412.004 Zeilen

Daten Seiten mit 200 Zeilen, gefiltert auf dem Server.

Wurzel abbrechen Was frei wird, bevor Sie bestätigen.

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

Testen Sie es zuerst an Ihrer eigenen Produktion: Jeder Monitoring-Bildschirm ist für einen Server kostenlos. Pro fügt alle weiteren Server und sämtliche Aktionen hinzu, einmalig für 22,99 €. Kein Abo, kein Konto.

Free

für immer

Auf einen Produktionsserver richten und alles sehen.

  • Alle Monitoring-Bildschirme: Zustand, Aktivität, Sperren, Vacuum & Aufblähung, Replikation, Speicher, Langsame Abfragen
  • Eine gespeicherte Verbindung 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

22,99 €

Einmalkauf

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

  • Unbegrenzt viele gespeicherte Verbindungen: jeder Server, für den Sie Bereitschaft haben
  • Sitzungen abbrechen und beenden, die Wurzel einer Sperrkette stoppen
  • 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 des Euroraums zeigt der App Store den Preis in Ihrer Währung.

Free · Pro 22,99 € einmalig · PostgreSQL 13–19 · iOS 17+ · iPhone und iPad

Fragen zu HeapDeck und Postgres

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

HeapDeck funktioniert mit jedem PostgreSQL 13–19, 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.

Neon, Supabase und Amazon RDS sind live geprüft. Fügen Sie die Verbindungszeichenfolge aus dem Connect-Bereich von Neon oder Supabase ein; für RDS tragen Sie den Endpunkt der Instanz aus der RDS-Konsole ein. Neon verbindet sich direkt oder über den -pooler-Host. Der direkte Host von Supabase hat nur eine IPv6-Adresse: In einem Netzwerk ohne IPv6 sagt HeapDeck das und verweist Sie auf die Zeichenfolge des Session pooler.

verify-full funktioniert, wenn das Zertifikat auf eine Root-CA zurückgeht, der iOS vertraut, wie bei Neon. Amazon RDS signiert mit einer eigenen Root-CA, die iOS nicht mitbringt. Nutzen Sie für RDS und ähnliche Anbieter 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. HeapDeck liest Ed25519-, ECDSA- und RSA-Schlüssel im Format OpenSSH, PEM, PKCS#8 oder PuTTY, mit oder ohne Passphrase, und kann einen Schlüssel für Secure Enclave erzeugen, der Ihr iPhone nie verlässt.

Liegt der Server hinter mehr als einem Hop, fügen Sie bis zu zwei Jump-Hosts hinzu, jeden mit eigener Anmeldung. HeapDeck beantwortet Zwei-Faktor-Abfragen und pinnt jeden Hostschlüssel bei der ersten Verbindung. Client-Zertifikate (mTLS) werden nicht unterstützt.

Verlassen meine Zugangsdaten oder meine Daten das iPhone?

HeapDeck verbindet sich direkt mit Ihrem Server oder über Ihren SSH-Bastion-Host, ohne einen Server von uns dazwischen. Ein Konto brauchen Sie nicht. 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; fehlen sie, gibt Ihnen HeapDeck den Befehl, den Sie an Ihren DBA weitergeben.

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. Ein Server lässt sich kostenlos überwachen, und Pro mit unbegrenzt vielen Servern und allen Aktionen ist ein einmaliger Kauf für 22,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?

Ja. Auf dem iPad läuft HeapDeck im Vollbild in jeder Ausrichtung, mit einer Seitenleiste statt der Tab-Leiste. „Sperren“ zeigt den Sperrbaum neben der ausgewählten Sitzung, und die SQL-Konsole nutzt die volle Breite. Pro ist an Ihre Apple ID gebunden, ein Kauf gilt also für Ihr iPhone und Ihr iPad.

Amazon Web Services, AWS und Amazon RDS sind Marken von Amazon.com, Inc. oder seinen verbundenen Unternehmen. Neon, Supabase, Google Cloud SQL und Microsoft Azure sind Marken ihrer jeweiligen Inhaber. HeapDeck ist mit keinem von ihnen verbunden und wird von keinem von ihnen unterstützt.

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.

Laden im App Store
Zum Öffnen auf dem iPhone scannen

Free · Pro 22,99 € einmalig · PostgreSQL 13–19 · iOS 17+ · iPhone und iPad