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).
Lecturas frente a escrituras
Sección titulada «Lecturas frente a escrituras»Pier clasifica cada sentencia por su palabra clave inicial (tras eliminar los comentarios iniciales):
- Lecturas —
SELECT,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.
Cuadrícula de resultados y límites
Sección titulada «Cuadrícula de resultados y límites»- 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
WHEREo unLIMITpara 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_timeouten Postgres,max_execution_timeen MySQL), de modo que una consulta descontrolada no pueda bloquear la base de datos. - Duración. Cada ejecución informa cuánto tardó.
Consejos
Sección titulada «Consejos»- 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/OFFSETo una cláusulaWHEREantes que desplazarte por la cuadrícula completa. - Las sentencias que no devuelven un conjunto de filas (por ejemplo un
SETsimple) se ejecutan y se informan como un recuento de filas afectadas.
Auditoría
Sección titulada «Auditoría»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.
Próximos pasos
Sección titulada «Próximos pasos»- MongoDB y Redis — los runners que no son SQL.
- Acceso y auditoría — roles y el log de auditoría.