Ir al contenido

SQL Runner

El SQL Runner ejecuta una sentencia arbitraria contra la base de datos seleccionada. Se sitúa debajo del explorador en la pestaña Data como un panel plegable — cerrado por defecto, así primero exploras y entras al runner cuando lo necesitas.

Ejecutar una sentencia requiere el rol Editor sobre el recurso, porque puede modificar datos. (Explorar solo necesita Viewer — consulta Acceso y auditoría).

Pier clasifica cada sentencia por su palabra clave inicial (tras eliminar los comentarios iniciales):

  • LecturasSELECT, WITH, VALUES, TABLE, SHOW, EXPLAIN, DESCRIBE/DESC. El resultado vuelve como una cuadrícula.
  • Escrituras — cualquier otra cosa (INSERT, UPDATE, DELETE, DDL, …). El resultado es el recuento de filas afectadas.

La clasificación es conservadora: cualquier cosa que no sea claramente una lectura se ejecuta como una escritura. El punto y coma final se elimina automáticamente, así que las sentencias individuales simplemente funcionan.

  • Límite de filas. Una lectura se limita a 1,000 filas. Si el resultado es mayor, la cuadrícula muestra las primeras 1,000 y marca el resultado como truncado — acótalo con un WHERE o un LIMIT para ver el resto.
  • Cada columna es texto. Los resultados se convierten a texto para que cualquier tipo de columna se renderice en la cuadrícula. Si tu sentencia devuelve columnas sin nombre o duplicadas, añade alias explícitos — Pier los pide en lugar de adivinarlos.
  • Timeout de sentencia. Cada conexión establece un timeout de sentencia de 15 segundos (statement_timeout en Postgres, max_execution_time en MySQL), de modo que una consulta descontrolada no pueda bloquear la base de datos.
  • Duración. Cada ejecución informa cuánto tardó.
  • Usa el selector Database para apuntar a una base de datos específica; déjalo en el valor por defecto para usar la base de datos principal del servicio.
  • Para tablas grandes, prefiere LIMIT/OFFSET o una cláusula WHERE antes que desplazarte por la cuadrícula completa.
  • Las sentencias que no devuelven un conjunto de filas (por ejemplo un SET simple) se ejecutan y se informan como un recuento de filas afectadas.

Cada ejecución del runner — exitosa o fallida — se escribe en la tabla de auditoría db_query_log: quién la ejecutó, la base de datos, el texto SQL, si fue una lectura o una escritura, el estado, el recuento de filas y la duración. Consulta Acceso y auditoría para el panorama completo.