SVL_STORED_PROC_CALL - Amazon Redshift

SVL_STORED_PROC_CALL

É possível consultar a visualização de sistema SVL_STORED_PROC_CALL para obter informações sobre as chamadas de procedimento armazenado, inclusive o horário de início, o horário de término e se uma chamada foi cancelada. Cada chamada de procedimento armazenado recebe um ID de consulta.

SVL_STORED_PROC_CALL está visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para ter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.

Alguns ou todos os dados nessa tabela também podem ser encontrados na exibição de monitoramento SYS SYS_PROCEDURE_CALL. Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender. É recomendável usar a exibição de monitoramento SYS nas consultas.

Colunas da tabela

Nome da coluna Tipo de dados Descrição
userid inteiro O ID do usuário cujos privilégios foram usados para executar a instrução. Se essa chamada tiver sido aninhada dentro de um procedimento armazenado DEFINIDOR DE SEGURANÇA, esse será o userid do proprietário desse procedimento armazenado.
session_userid inteiro O ID do usuário que criou a sessão e é o invocador da chamada de procedimento armazenado de nível superior.
consulta inteiro O ID da consulta da chamada de procedimento.
label character(320) O nome do arquivo usado para executar a consulta ou um rótulo definido com o comando SET QUERY_GROUP. Se a consulta não for baseada em arquivos ou o parâmetro QUERY_GROUP não estiver definido, o valor deste campo será o padrão.
xid bigint O ID da transação.
pid inteiro O ID do processo. Normalmente, todas as consultas em uma sessão são executadas no mesmo processo, portanto, esse valor geralmente permanece constante se você executar uma série de consultas na mesma sessão. Após certos eventos internos, o Amazon Redshift pode reiniciar uma sessão ativa e atribuir um novo valor pid. Para obter mais informações, consulte STL_RESTARTED_SESSIONS.
banco de dados character(32) O nome do banco de dados ao qual o usuário estava conectado quando a consulta foi emitida.
querytxt character(4000) O texto real da consulta de chamada de procedimento.
starttime timestamp O horário, em UTC, do início da execução da consulta, com 6 dígitos de precisão fracionária para segundos, por exemplo: 2009-06-12 11:29:19.131358.
endtime timestamp O horário, em UTC, do término da execução da consulta, com 6 dígitos de precisão fracionária para segundos, por exemplo: 2009-06-12 11:29:19.131358.
aborted inteiro Se um procedimento armazenado tiver sido interrompido pelo sistema ou cancelado pelo usuário, essa coluna conterá o valor 1. Se a chamada for concluída, essa coluna terá o valor 0.
from_sp_call inteiro Se a chamada de procedimento tiver sido invocada por outra chamada de procedimento, essa coluna terá o ID de consulta da outra chamada. Caso contrário, o campo será NULL.

Consulta de exemplo

A consulta a seguir retorna o tempo gasto em ordem decrescente e o status de conclusão para chamadas de procedimento armazenado no dia anterior.

select query, datediff(seconds, starttime, endtime) as elapsed_time, aborted, trim(querytxt) as call from svl_stored_proc_call where starttime >= getdate() - interval '1 day' order by 2 desc; query | elapsed_time | aborted | call --------+--------------+---------+----------------------------------------------------------------------------------- 4166 | 7 | 0 | call search_batch_status(35,'succeeded'); 2433 | 3 | 0 | call test_batch (123456) 1810 | 1 | 0 | call prod_benchmark (123456) 1836 | 1 | 0 | call prod_testing (123456) 1808 | 1 | 0 | call prod_portfolio ('N', 123456) 1816 | 1 | 1 | call prod_portfolio ('Y', 123456)