Esta página describe Calíope 1.7, la versión que estoy construyendo ahora mismo. La 1.6 está en la App Store para Mac, iPad, iPhone, Apple Watch, Apple TV y Apple Vision Pro. El changelog dice en qué versión llegó cada función.

Añade un botón «Abrir en Calíope» a cada tema. Sólo funciona con la app instalada.

Lista de procesos

Ver procesos activos

Lista las sesiones activas del servidor.

Dónde está: Espacio de Trabajo › Herramientas › Procesos

Abre Procesos desde la barra de navegación del workspace. La tabla muestra todos los procesos con columnas: ID, Usuario, Host, Base de datos, Comando, Tiempo, Estado y SQL.

La lista se actualiza sola desde que se abre, cada tantos segundos como diga Intervalo, y el pie cuenta lo que falta para la siguiente. ⏸ la pausa, ▶ la reanuda y ↻ la relee al momento. Usa el filtro de usuario para mostrar solo los procesos de un usuario específico. En la tabla, pulsa la cabecera de una columna para ordenar por ella. En el iPhone cada proceso sale apilado en tres líneas, sin columnas.

SQL Server

Con SQL Server el menú no trae Kill Query y la barra no ofrece Terminar las activas: allí KILL cierra la sesión entera, no sólo su consulta, así que sólo se puede terminar la sesión.

ClickHouse

Con ClickHouse cada fila es una consulta en curso, no una conexión: el identificador es su query_id, y hay dos columnas que sólo trae este motor, Memoria y Filas leídas. Debajo de la lista, sólo si hay alguna, sale la sección de mutaciones sin terminar: por cada UPDATE o DELETE encolado, la tabla, su identificador, la orden, las partes que le faltan y, si falla, el motivo; un cambio encolado puede fallar sin que nadie lo vea, y aquí se ve. Su botón ⓧ, Cancelar la mutación, pide confirmación y manda KILL MUTATION; lo ya reescrito se queda.

Oracle

Con Oracle cada fila es una sesión de usuario de V$SESSION, y el identificador es SID,SERIAL#: el SID solo se repite cuando una sesión se cierra y abre otra. Estado dice la espera en curso y, si la hay, qué sesión la bloquea; SQL es la sentencia que corre o, en una ociosa, la última que mandó. La conexión de Calíope que lee la lista lleva el icono del portátil. Ver la lista pide permiso sobre V$SESSION (SELECT_CATALOG_ROLE): sin él, una barra bajo la lista dice el motivo del servidor en vez de enseñarla vacía, y en el Tablero Conexiones por usuario dice lo mismo.

Palabras clave: procesos, hilos, processlist, SHOW PROCESSLIST, activos

Matar un proceso

Termina un hilo específico del servidor.

Dónde está: Lista de procesos › clic derecho › Kill Connection / Kill Query

Abre el menú contextual de un proceso en la lista —clic derecho en macOS, mantener pulsado en iPad— y selecciona Kill Connection (termina la conexión completa) o Kill Query (cancela solo la consulta activa). Ambas acciones muestran confirmación antes de ejecutarse.

Si el servidor se niega —casi siempre porque el hilo es de otro usuario y a tu cuenta le falta el privilegio—, una barra bajo la lista lo dice: «El hilo #… no se terminó:» seguido del motivo del servidor. Se anuncia, y se cierra con su ✕. Un hilo que sí muere no dice nada: simplemente sale de la lista.

SQL Server

Con SQL Server el menú sólo tiene Kill Connection: KILL termina la sesión entera y deshace su transacción abierta, y el cliente que ejecutaba la consulta recibe la respuesta del servidor de que la sesión está en estado de terminación.

ClickHouse

Con ClickHouse el menú sólo tiene Kill Query: cada fila es una consulta, no hay conexión que cerrar aparte, y la consulta sale de la lista al terminar.

Oracle

Con Oracle, Kill Connection es ALTER SYSTEM KILL SESSION … IMMEDIATE: la sesión termina en el acto, se deshace su transacción abierta y su cliente pierde la conexión (sqlplus dice ORA-03113). Kill Query es ALTER SYSTEM CANCEL SQL: la sentencia recibe ORA-01013 y la sesión sigue abierta. Las dos piden el privilegio ALTER SYSTEM: sin él salen apagadas, y una barra bajo la lista lo dice. La conexión de Calíope que lee la lista no se ofrece a terminar.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Con una etiqueta de entorno que confirma lo que escribe, la confirmación de terminar lleva su nombre en el título y no pregunta dos veces; con una de solo lectura, los botones y el menú de terminar no aparecen.

Palabras clave: kill, matar, cancelar, terminar proceso, hilo

Matar hilos idle o busy en bloque

Cancela en masa hilos que llevan más de N segundos en un estado.

Dónde está: Lista de procesos › Inactivos > / Activos > · Terminar

Junto a Inactivos > y Activos > en la barra, escribe un número de segundos y pulsa el botón Terminar de ese campo. Inactivos cierra toda conexión que lleve esperando más que eso; Activos cancela toda consulta que lleve más tiempo ejecutándose, y deja su conexión abierta. Antes de actuar, Calíope dice cuántos hilos encontró y pide que lo confirmes.

Después, la misma barra bajo la lista lo resume: cuántos de los encontrados se terminaron y, si el servidor rechazó alguno, cuántos y el motivo del primero —por ejemplo «Terminados 3 de 5; 2 rechazados: …»—.

MySQLMariaDBAurora

Los hilos del propio servidor —la replicación y el programador de eventos— no se incluyen nunca.

PostgreSQL

Los procesos del propio servidor —el checkpointer, el escritor del WAL, el lanzador del autovacuum— salen en la lista, pero no se incluyen nunca.

SQL Server

Con SQL Server sólo está Inactivos >: KILL cierra la sesión entera, así que una consulta en curso no se puede cancelar sola. Las sesiones del propio servidor ni siquiera salen en la lista.

ClickHouse

Con ClickHouse sólo está Activos >, que cancela con KILL QUERY toda consulta que lleve más tiempo: no hay conexiones ociosas que cerrar. En el Tablero, Conexiones por usuario dice que no corre nada cuando no hay consultas.

Oracle

Con Oracle están los dos: Inactivos > cierra sesiones con ALTER SYSTEM KILL SESSION y Activos > cancela sentencias con ALTER SYSTEM CANCEL SQL, dejando la sesión abierta. La conexión de Calíope que lee la lista no se incluye nunca, y sin el privilegio ALTER SYSTEM los dos botones Terminar salen apagados.

Palabras clave: idle, busy, bloque, matar masivo, sleep, umbral