PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 12.22 » Internes » Catalogues système » pg_cursors

51.69. 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.

Note

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

NomTypeDescription
nametextLe nom du curseur
statementtextLa chaîne utilisée comme requête pour créer le curseur
is_holdableboolean 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_binaryboolean true si le curseur a été déclaré binaire (BINARY) ; false sinon
is_scrollableboolean true si le curseur autorise une récupération non séquentielle des lignes ; false sinon
creation_timetimestamptzL'heure à laquelle le curseur a été déclaré

La vue pg_cursors est en lecture seule.