SYS_QUERY_TEXT
Utilice SYS_QUERY_TEXT para ver el texto de todas las consultas. Cada fila representa el texto de las consultas de hasta 4000 caracteres que comienzan por el número de secuencia 0. Cuando la instrucción de consulta contiene más de 4000 caracteres, se registran filas adicionales para la instrucción al incrementar el número de secuencia de cada fila. Esta vista registra todo el texto de las consultas de los usuarios como las consultas de DDL, de utilidades, de Amazon Redshift y únicas del nodo principal.
SYS_QUERY_TEXT es visible para todos los usuarios. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.
Columnas de la tabla
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
user_id | integer | El identificador del usuario que envió la consulta. |
query_id | bigint | Identificador de la consulta. |
transaction_id | bigint | El identificador de la transacción asociado a la instrucción. |
session_id | integer | El identificador del proceso de la sesión que ejecuta la consulta. |
start_time | Marca de tiempo | La hora cuando empieza la consulta. |
sequence | integer | Cuando una única instrucción tiene más de 4000 caracteres, se registran filas adicionales para la instrucción. Secuencia 0 es la primera fila, 1 es la segunda fila y, así, sucesivamente. |
texto | carácter (4000) | El texto de la consulta SQL que está en incrementos de 4000 caracteres. Este campo puede contener caracteres especiales, como una barra oblicua inversa (\) y una nueva línea (\n). |
Consultas de ejemplo
La siguiente consulta devuelve consultas en ejecución y en cola.
SELECT user_id, query_id, transaction_id, session_id, start_time, sequence, trim(text) as text from sys_query_text ORDER BY sequence;
Resultados de ejemplo.
user_id | query_id | transaction_id | session_id | start_time | sequence | text --------+----------+-----------------+------------+----------------------------+----------+---------------------------------------------------------------------------------------------------------------------- 100 | 4 | 1396 | 1073750220 | 2023-04-28 16:44:55.887184 | 0 | SELECT trim(text) as text, sequence FROM sys_query_text WHERE query_id = pg_last_query_id() AND user_id > 1 AND start _time > '2023-04-28 16:44:55.922705+00:00'::timestamp order by sequence;
La siguiente consulta devuelve los permisos concedidos o revocados a los grupos de la base de datos.
SELECT SPLIT_PART(text, ' ', 1) as grantrevoke, SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'GROUP'))), ' ', 2) as group, SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), ' '))), 'ON', 1) as type, SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'ON'))), ' ', 2) || ' ' || SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'ON'))), ' ', 3) as entity FROM SYS_QUERY_TEXT WHERE (text LIKE 'GRANT%' OR text LIKE 'REVOKE%') AND text LIKE '%GROUP%';
+-------------+----------+--------+----------+ | grantrevoke | group | type | entity | +-------------+----------+--------+----------+ | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | USAGE | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | +-------------+----------+--------+----------+