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.