PG_TERMINATE_BACKEND - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

PG_TERMINATE_BACKEND

Met fin à une séance. Vous pouvez mettre fin à une séance appartenant à votre utilisateur. Un super-utilisateur peut mettre fin à n’importe quelle séance.

Syntaxe

pg_terminate_backend( pid )

Arguments

pid

L’ID du processus de la séance pour être arrêté. Nécessite une valeur INTEGER.

Type de retour

Aucun

Notes d’utilisation

Si vous êtes sur le point d’atteindre la limite de connexions simultanées, utilisez PG_TERMINATE_BACKEND pour mettre fin aux séances inactives et libérer les connexions. Pour plus d’informations, consultez Limites d’Amazon Redshift.

Si les requêtes de plusieurs séances détiennent des verrous sur la même table, vous pouvez utiliser la fonction PG_TERMINATE_BACKEND pour mettre fin à l’une des séances, ce qui oblige toutes les transactions en cours d’exécution dans la séance terminée à libérer tous les verrous et à annuler la transaction. Interrogez la table de catalogue PG_LOCKS afin d’afficher les verrous actuellement détenus.

Si une requête ne se trouve dans un bloc de transaction (BEGIN... END), vous pouvez annuler la requête à l’aide de la commande ANNULER ou de la fonction PG_CANCEL_BACKEND.

Exemples

Pour interroger la table SVV_TRANSACTIONS afin d’afficher tous les verrous en vigueur pour les transactions actuelles, utilisez l’exemple suivant.

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 | +-----------+--------+-------+------+---------------------+-----------------+----------------------+----------+---------+

Pour terminer la session détenant les verrous, utilisez l’exemple suivant.

SELECT PG_TERMINATE_BACKEND(8585);