Diese Seite beschreibt Calíope 1.7, die Version, die ich gerade baue. Die 1.6 ist im App Store für Mac, iPad, iPhone, Apple Watch, Apple TV und Apple Vision Pro. Das Changelog sagt, in welcher Version jede Funktion kam.

Fügt jedem Thema einen Button „In Calíope öffnen“ hinzu. Funktioniert nur mit installierter App.

Prozessliste

Aktive Prozesse anzeigen

Listet die aktiven Sitzungen des Servers auf.

Wo es zu finden ist: Workspace › Werkzeuge › Prozesse

Öffne Prozesse über die Navigationsleiste des Workspace. Die Tabelle zeigt alle Prozesse mit den Spalten: ID, Benutzer, Host, Datenbank, Befehl, Zeit, Status und SQL.

Die Liste aktualisiert sich ab dem Öffnen von selbst, im Abstand der Sekunden, die unter Intervall stehen, und die Fußzeile zählt bis zur nächsten Aktualisierung herunter. ⏸ pausiert sie, ▶ setzt sie fort und ↻ liest sie sofort neu. Nutze den Benutzerfilter, um nur die Prozesse eines bestimmten Benutzers anzuzeigen. In der Tabelle sortierst du mit einem Klick oder Tippen auf die Spaltenüberschrift. Auf dem iPhone steht jeder Prozess in drei Zeilen untereinander, ohne Spalten.

SQL Server

Mit SQL Server hat das Menü kein Kill Query, und die Leiste bietet nicht an, die laufenden zu beenden: Dort schließt KILL die ganze Sitzung, nicht nur ihre Abfrage, also lässt sich nur die Sitzung beenden.

ClickHouse

Mit ClickHouse ist jede Zeile eine laufende Abfrage, keine Verbindung: Die Kennung ist ihre query_id, und zwei Spalten gibt es nur bei dieser Engine, Speicher und Gelesene Zeilen. Unter der Liste erscheint, nur wenn es welche gibt, der Abschnitt der nicht abgeschlossenen Mutationen: für jedes eingereihte UPDATE oder DELETE die Tabelle, ihre Kennung, der Befehl, die verbleibenden Parts und, wenn sie fehlschlägt, der Grund; eine eingereihte Änderung kann fehlschlagen, ohne dass es jemand sieht, und hier sieht man es. Ihre Schaltfläche ⓧ, Mutation abbrechen, fragt nach und schickt KILL MUTATION; was schon neu geschrieben ist, bleibt.

Oracle

Mit Oracle ist jede Zeile eine Benutzersitzung aus V$SESSION, und die Kennung ist SID,SERIAL#: Die SID allein wiederholt sich, wenn eine Sitzung schließt und eine andere öffnet. Status zeigt die laufende Wartezeit und, falls vorhanden, welche Sitzung sie blockiert; SQL ist die laufende Anweisung oder, bei einer untätigen Sitzung, die zuletzt gesendete. Die Verbindung von Calíope, die die Liste liest, trägt das Laptop-Symbol. Die Liste zu sehen erfordert ein Recht auf V$SESSION (SELECT_CATALOG_ROLE): Ohne es nennt eine Leiste unter der Liste den Grund des Servers, statt sie leer zu zeigen, und im Dashboard sagt Verbindungen pro Benutzer dasselbe.

Stichwörter: Prozesse, Threads, processlist, SHOW PROCESSLIST, aktiv

Einen Prozess beenden

Beende einen bestimmten Thread des Servers.

Wo es zu finden ist: Prozessliste › Rechtsklick › Kill Connection / Kill Query

Öffne das Kontextmenü eines Prozesses in der Liste — Rechtsklick unter macOS, gedrückt halten auf dem iPad — und wähle Kill Connection (beendet die gesamte Verbindung) oder Kill Query (bricht nur die aktive Query ab). Beide Aktionen zeigen vor der Ausführung eine Bestätigung.

Lehnt der Server ab — fast immer, weil der Thread einem anderen Benutzer gehört und deinem Konto das Recht fehlt —, sagt es eine Leiste unter der Liste: „Thread #… wurde nicht beendet:“ gefolgt vom Grund des Servers. Sie wird angesagt und schließt sich mit ihrem ✕. Ein Thread, der wirklich beendet wird, sagt nichts: Er verschwindet einfach aus der Liste.

SQL Server

Mit SQL Server hat das Menü nur Kill Connection: KILL beendet die ganze Sitzung und macht ihre offene Transaktion rückgängig, und der Client, der die Abfrage ausführte, bekommt die Antwort des Servers, dass die Sitzung beendet wird.

ClickHouse

Mit ClickHouse hat das Menü nur Kill Query: Jede Zeile ist eine Abfrage, es gibt keine eigene Verbindung zu schließen, und die Abfrage verschwindet aus der Liste, wenn sie endet.

Oracle

Mit Oracle ist Kill Connection ALTER SYSTEM KILL SESSION … IMMEDIATE: Die Sitzung endet sofort, ihre offene Transaktion wird zurückgerollt und ihr Client verliert die Verbindung (sqlplus meldet ORA-03113). Kill Query ist ALTER SYSTEM CANCEL SQL: Die Anweisung erhält ORA-01013, und die Sitzung bleibt offen. Beide erfordern das Privileg ALTER SYSTEM: Ohne es sind sie ausgegraut, und eine Leiste unter der Liste sagt es. Die Verbindung von Calíope, die die Liste liest, wird nicht zum Beenden angeboten.

Apple Vision Pro: Das Kontextmenü öffnet sich, wenn du die Zeile ansiehst und Daumen und Zeigefinger zusammengeführt hältst.

Mit einem Umgebungsetikett, das Schreibzugriffe bestätigt, trägt die Bestätigung zum Beenden seinen Namen im Titel und fragt nicht zweimal; bei einem schreibgeschützten erscheinen die Schaltflächen und das Menü zum Beenden nicht.

Stichwörter: kill, beenden, abbrechen, Prozess beenden, Thread

Idle- oder Busy-Threads im Block beenden

Beende massenhaft Threads, die länger als N Sekunden in einem Zustand sind.

Wo es zu finden ist: Prozessliste › Inaktiv > / Aktiv > · Beenden

Gib neben Inaktiv > und Aktiv > in der Symbolleiste eine Anzahl Sekunden ein und klick auf den Button Beenden dieses Felds. Inaktiv schließt jede Verbindung, die länger wartet; Aktiv bricht jede Abfrage ab, die länger läuft, und lässt ihre Verbindung offen. Vorher sagt Calíope, wie viele Threads es gefunden hat, und bittet um Bestätigung.

Danach fasst es dieselbe Leiste unter der Liste zusammen: wie viele der gefundenen beendet wurden und, wenn der Server welche abgelehnt hat, wie viele und der Grund für den ersten — zum Beispiel „3 von 5 beendet; 2 abgelehnt: …“.

MySQLMariaDBAurora

Die Threads des Servers selbst — die Replikation und der Event-Scheduler — sind nie dabei.

PostgreSQL

Die Prozesse des Servers selbst — der Checkpointer, der WAL-Writer, der Autovacuum-Launcher — stehen in der Liste, sind aber nie dabei.

SQL Server

Mit SQL Server gibt es nur Inaktiv >: KILL schließt die ganze Sitzung, eine laufende Abfrage lässt sich also nicht allein abbrechen. Die Sitzungen des Servers selbst stehen gar nicht in der Liste.

ClickHouse

Mit ClickHouse gibt es nur Aktiv >, das mit KILL QUERY jede Abfrage abbricht, die länger läuft: Es gibt keine untätigen Verbindungen zu schließen. Im Dashboard sagt Verbindungen pro Benutzer, dass nichts läuft, wenn es keine Abfragen gibt.

Oracle

Mit Oracle gibt es beide: Inaktiv > schließt Sitzungen mit ALTER SYSTEM KILL SESSION, und Aktiv > bricht Anweisungen mit ALTER SYSTEM CANCEL SQL ab und lässt die Sitzung offen. Die Verbindung von Calíope, die die Liste liest, wird nie einbezogen, und ohne das Privileg ALTER SYSTEM sind beide Beenden-Schaltflächen ausgegraut.

Stichwörter: idle, busy, Block, Massen-Beenden, sleep, Schwellenwert