PG_ _ CANCEL BACKEND - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

PG_ _ CANCEL BACKEND

Annulla una query. PG_ CANCEL _ BACKEND è funzionalmente equivalente al comando. CANCEL È possibile annullare solo le query attualmente eseguite dall'utente. Gli utenti con privilegi avanzati possono cancellare qualsiasi query.

Sintassi

pg_cancel_backend( pid )

Argomenti

pid

L'ID di processo (PID) della query da annullare. Non è possibile annullare una query specificando un ID query; è necessario specificare l'ID processo della query. Richiede un valore INTEGER.

Tipo restituito

Nessuno

Note per l'utilizzo

Se le query in più sessioni contengono blocchi sulla stessa tabella, è possibile utilizzare la funzione PG_ _ TERMINATE BACKEND per terminare una delle sessioni, forzando qualsiasi transazione attualmente in esecuzione nella sessione terminata per rilasciare tutti i blocchi ed eseguire il rollback della transazione. Interroga la tabella del LOCKS catalogo PG__ per visualizzare i blocchi attualmente conservati. Se non è possibile annullare una query perché si trova nel blocco di transazioni (BEGIN...END), è possibile terminare la sessione in cui è in esecuzione la query utilizzando la funzione PG_ _. TERMINATE BACKEND

Esempi

Per annullare una query attualmente in esecuzione, recupera prima l'ID processo della query che vuoi annullare. Per determinare il processo IDs per tutte le query attualmente in esecuzione, esegui il comando seguente.

SELECT pid, TRIM(starttime) AS start, duration, TRIM(user_name) AS user, SUBSTRING(query,1,40) AS querytxt FROM stv_recents WHERE status = 'Running'; +-----+------------------------+----------+--------+-----------------------------+ | pid | starttime | duration | user | querytxt | +-----+------------------------+----------+--------+-----------------------------+ | 802 | 2013-10-14 09:19:03.55 | 132 | dwuser | select venuename from venue | | 834 | 2013-10-14 08:33:49.47 | 1250414 | dwuser | select * from listing; | | 964 | 2013-10-14 08:30:43.29 | 326179 | dwuser | select sellerid from sales | +-----+------------------------+----------+--------+-----------------------------+

Per annullare la query con l'ID di processo 802, utilizza l'esempio seguente.

SELECT PG_CANCEL_BACKEND(802);