Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

CANCEL

Modo de foco
CANCEL - Amazon Redshift

Cancela uma consulta de banco de dados que está sendo executada no momento.

O comando CANCEL requer o ID do processo ou o ID da sessão da consulta que está sendo executada e exibe uma mensagem de confirmação para confirmar que a consulta foi cancelada.

Privilégios obrigatórios

A seguir estão os privilégios obrigatórios para CANCEL:

  • Superusuário que cancele sua própria consulta

  • Superusuário que cancele a consulta de um usuário

  • Usuários com o privilégio CANCEL que cancelem a consulta de um usuário

  • Usuário que cancele sua própria consulta

Sintaxe

CANCEL process_id [ 'message' ]

Parâmetros

process_id

Para cancelar uma consulta em execução em um cluster do Amazon Redshift, use o pid (ID do processo) de STV_RECENTS que corresponde à consulta a ser cancelada.

Para cancelar uma consulta em execução em um grupo de trabalho do Amazon Redshift sem servidor, use o session_id de SYS_QUERY_HISTORY que corresponde à consulta a ser cancelada.

'mensagem'

Mensagem de confirmação opcional exibida quando o cancelamento da consulta é concluído. Se você não especificar uma mensagem, o Amazon Redshift exibirá a mensagem padrão como verificação. Você deve colocar a mensagem entre aspas simples.

Observações de uso

Não é possível cancelar uma consulta especificando um ID de consulta; é necessário especificar o ID de processo (PID) ou o ID da sessão da consulta. Somente é possível cancelar consultas atualmente em execução pelo seu usuário. Superusuários podem cancelar todas as consultas.

Se as consultas em várias sessões mantiverem bloqueios na mesma tabela, você poderá usar a função PG_TERMINATE_BACKEND para encerrar uma das sessões. Isso força todas as transações em execução na sessão encerrada a liberar todos os bloqueios e reverter a transação. Consulte a tabela de sistema STV_LOCKS para exibir os bloqueios atuais.

Depois de alguns eventos internos, o Amazon Redshift pode reiniciar uma sessão ativa e atribuir um novo PID. Se o PID foi alterado, a seguinte mensagem de erro pode aparecer.

Session <PID> does not exist. The session PID might have changed. Check the stl_restarted_sessions system table for details.

Para encontrar o PID, consulte a tabela de sistema STL_RESTARTED_SESSIONS e o filtro na coluna oldpid.

select oldpid, newpid from stl_restarted_sessions where oldpid = 1234;

Exemplos

Para cancelar uma consulta em execução em um cluster do Amazon Redshift, recupere primeiro o ID de processo para a consulta a ser cancelada. Para determinar os IDs de processo para todas as consultas atualmente em execução, digite o seguinte comando:

select pid, starttime, duration, trim(user_name) as user, trim (query) as querytxt from stv_recents where status = 'Running'; pid | starttime | duration | user | querytxt -----+----------------------------+----------+----------+----------------- 802 | 2008-10-14 09:19:03.550885 | 132 | dwuser | select venuename from venue where venuestate='FL', where venuecity not in ('Miami' , 'Orlando'); 834 | 2008-10-14 08:33:49.473585 | 1250414 | dwuser | select * from listing; 964 | 2008-10-14 08:30:43.290527 | 326179 | dwuser | select sellerid from sales where qtysold in (8, 10);

Verifique o texto da consulta para determinar qual ID de processo (PID) corresponde à consulta que você deseja cancelar.

Digite o seguinte comando a ser usado com o PID 802 para cancelar a consulta:

cancel 802;

A sessão em que a consulta estava sendo executada exibirá a seguinte mensagem:

ERROR: Query (168) cancelled on user's request

onde 168 é o ID de consulta (não o ID de processo usado para cancelar a consulta).

Como alternativa, você pode especificar uma mensagem de confirmação personalizada a ser exibida no lugar da mensagem padrão. Para especificar uma mensagem personalizada, inclua sua mensagem entre aspas simples no final do comando CANCEL:

cancel 802 'Long-running query';

A sessão em que a consulta estava sendo executada exibirá a seguinte mensagem:

ERROR: Long-running query
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.