PG_TERMINATE_BACKEND - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

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_TERMINATE_BACKEND

Interrompe una sessione. È possibile terminare una sessione di proprietà dell'utente. Un utente con privilegi avanzati può terminare qualsiasi sessione.

Sintassi

pg_terminate_backend( pid )

Arguments (Argomenti)

pid

L'ID di processo della sessione da interrompere. Richiede un valore INTEGER.

Tipo restituito

Nessuno

Note per l’utilizzo

Se si è prossimi a raggiungere il limite per le connessioni simultanee, usare PG_TERMINATE_BACKEND per interrompere le sessioni inattive e liberare le connessioni. Per ulteriori informazioni, consultare Limiti di Amazon Redshift.

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. Esegui una query sulla tabella del catalogo PG__LOCKS per visualizzare i blocchi attuali.

Se una query non si trova in un blocco di transazione (BEGIN ... END), è possibile annullare la query utilizzando il comando CANCEL oppure la funzione PG_CANCEL_BACKEND.

Esempi

Per eseguire query sulla tabella SVV_TRANSACTIONS per visualizzare tutti i blocchi attivi per le transazioni correnti, utilizza l'esempio seguente.

SELECT * FROM svv_transactions; +-----------+--------+-------+------+---------------------+-----------------+----------------------+----------+---------+ | txn_owner | txn_db | xid | pid | txn_start | lock_mode | lockable_object_type | relation | granted | +-----------+--------+-------+------+---------------------+-----------------+----------------------+----------+---------+ | rsuser | dev | 96178 | 8585 | 2017-04-12 20:13:07 | AccessShareLock | relation | 51940 | true | | rsuser | dev | 96178 | 8585 | 2017-04-12 20:13:07 | AccessShareLock | relation | 52000 | true | | rsuser | dev | 96178 | 8585 | 2017-04-12 20:13:07 | AccessShareLock | relation | 108623 | true | | rsuser | dev | 96178 | 8585 | 2017-04-12 20:13:07 | ExclusiveLock | transactionid | | true | +-----------+--------+-------+------+---------------------+-----------------+----------------------+----------+---------+

PER terminare la sessione con i blocchi, utilizza l'esempio seguente.

SELECT PG_TERMINATE_BACKEND(8585);