pg_cursors
La vue pg_cursors
liste les curseurs actuellement
disponibles. Les curseurs peuvent être définis de plusieurs façons :
via l'instruction SQL DECLARE ;
via le message Bind du protocole frontend/backend, décrit dans le Section 52.2.3 ;
via l'interface de programmation du serveur (SPI), décrite dans le Section 46.1.
La vue pg_cursors
affiche les curseurs créés par
tout moyen précédent. Les curseurs n'existent que pour la durée de la
transaction qui les définit, sauf s'ils ont été déclarés avec
WITH HOLD
. De ce fait, les curseurs volatils
(non-holdable) ne sont
présents dans la vue que jusqu'à la fin de la transaction qui les a créés.
Les curseurs sont utilisés en interne pour coder certains
composants de PostgreSQL, comme les langages
procéduraux. La vue pg_cursors
peut ainsi
inclure des curseurs qui n'ont pas été créés explicitement par
l'utilisateur.
Tableau 51.70. Colonnes de pg_cursors
Nom | Type | Description |
---|---|---|
name | text | Le nom du curseur |
statement | text | La chaîne utilisée comme requête pour créer le curseur |
is_holdable | boolean |
true si le curseur est persistant
(holdable)
(c'est-à-dire s'il peut être accédé après la validation de la transaction
qui l'a déclaré) ; false sinon
|
is_binary | boolean |
true si le curseur a été déclaré binaire
(BINARY ) ; false
sinon
|
is_scrollable | boolean |
true si le curseur autorise une récupération non
séquentielle des lignes ; false sinon
|
creation_time | timestamptz | L'heure à laquelle le curseur a été déclaré |
La vue pg_cursors
est en lecture seule.