Les fonctions décrites dans cette section sont utilisées pour obtenir des informations variées sur une installation PostgreSQL.
Tableau 9.69 montre différentes fonctions pour extraire des informations sur les sessions et le système.
En plus des fonctions listées dans cette section, il existe plusieurs fonctions relatives au système de statistiques qui fournissent aussi des informations sur le système. Voir Section 27.2.26 pour plus d'informations.
Tableau 9.69. Fonctions d'information sur la session
Fonction Description |
---|
Renvoie le nom de la base actuelle. (Les bases sont appelées des
« catalogues » dans le standard SQL, donc
|
Renvoie le texte de la requête en cours d'exécution telle qu'elle a été envoyée par le client (elle pourrait donc contenir plus d'une requête). |
Équivalent à |
Renvoie le nom du premier schéma dans le chemin de recherche (ou une valeur NULL si le chemin de recherche est vide). C'est le schéma qui sera utilisé par toute création de tables ou d'autres objets nommés si un schéma cible n'est pas précisé. |
Renvoie un tableau de noms pour tous les schémas présents dans le
chemin de recherche, dans leur ordre de priorité. (Les éléments dans
le paramètre search_path ne correspondant pas à
des objets existants et cherchables sont omis.) Si l'argument booléen
vaut |
Renvoie le nom de l'utilisateur dans le contexte d'exécution actuel. |
Renvoie l'adresse IP du client actuel ou |
Renvoie le numéro de port IP du client actuel, ou
|
Renvoie l'adresse IP par laquelle le serveur a accepté la connexion
actuelle, ou |
Renvoie le numéro de port IP par lequel le serveur a accepté la
connexion actuelle, ou |
Renvoie l'identifiant de processus du processus serveur attaché à la session actuelle. |
Renvoie un tableau d'identifiants de processus des sessions bloquant l'accès à un verrou pour le processus serveur dont l'identifiant a été donné. Renvoie un tableau vide si aucun processus ne le bloque.
Un processus serveur bloque un autre processus s'il détient un verrou
qui entre en conflit avec la demande de verrou du processus bloqué
(blocage dur) ou s'il est en attente d'un verrou qui rentrerait en
conflit avec la demande de verrou du processus bloqué et est devant
lui dans la queue d'attente (verrou léger). Lors de l'utilisation de
requêtes parallélisées, le résultat liste toujours les identifiants
des processus visibles du client (autrement dit, le résultat de
Les appels fréquents à cette fonction ont des impacts sur les performances de la base car il est nécessaire d'avoir un accès exclusif à l'état partagé du gestionnaire de verrous pour un court moment. |
Renvoie l'horodatage du dernier chargement des fichiers de configuration. Si la session actuelle était vivante à ce moment, cela sera l'heure quand la session a elle-même relu les fichiers de configuration (donc le résultat peut légèrement varier sur les différentes sessions). Sinon c'est le moment où le processus postmater relit les fichiers de configuration. |
Renvoie le chemin du fichier de traces actuellement utilisé par le
collecteur de traces. Le chemin inclut le répertoire log_directory et le nom du fichier de traces individuel. Le
résultat est
Cette fonction est restreinte par défaut aux superutilisateurs et aux
rôles disposant du rôle |
Renvoie l'OID du schéma temporaire de la session en cours, ou zéro si ce schéma n'existe pas (parce que la session n'a pas créé de tables temporaires). |
Renvoie true si l'OID donné est l'OID du schéma temporaire d'une autre session. (Ceci peut être utile, par exemple, pour exclure les tables temporaires des autres sessions d'un affichage du catalogue.) |
Renvoie true si l'extension de compilation JIT est
disponible (voir Chapitre 30) et si le paramètre de
configuration jit est configuré à
|
Renvoie l'ensemble de noms des canaux de notification asynchrone sur lesquels la session actuelle écoute. |
Renvoie la fraction (0–1) de la taille maximale de la queue de notification asynchrone actuellement occupée par des notifications en attente de traitement. Voir LISTEN et NOTIFY pour plus d'informations. |
Renvoie l'heure de démarrage du serveur. |
Renvoie un tableau d'identifiants de processus des sessions bloquant le processus serveur avec l'identifiant de processus spécifié pour acquérir une image propre. Renvoie un tableau vide si ce processus n'existe pas ou s'il n'est pas bloqué.
Une session exécutant une transaction Les appels fréquents à cette fonction pourraient avoir des impacts sur la performance des bases car elle a besoin d'accéder à l'état partagé du gestionnaire de verrous de prédicats pour un court moment. |
Renvoie le niveau de profondeur actuel des triggers PostgreSQL (0 si non appelé, directement ou indirectement, à partir d'un trigger). |
Renvoie le nom d'utilisateur de la session. |
Renvoie la méthode d'authentification et l'identité (si valide) que
l'utilisateur a présenté lors du cycle d'authentification avant qu'il
ne se voit affecter un rôle de base. La forme utilisée est
|
C'est équivalent à |
current_catalog
,
current_role
,
current_schema
,
current_user
,
session_user
et user
ont un statut syntaxique spécial en
SQL : elles doivent être appelées sans les
parenthèses. Dans PostgreSQL, les parenthèses peuvent être utilisées en
option avec current_schema
, mais pas avec les
autres.
session_user
est habituellement l'utilisateur qui a
initié la connexion à la base de données ; les superutilisateurs
peuvent modifier ce paramètre avec SET SESSION AUTHORIZATION.
current_user
est l'identifiant de l'utilisateur
applicable pour les vérifications de droits. Habituellement, il est égal à
l'utilisateur de la session mais il peut être changé avec SET ROLE. Il peut aussi changer durant l'exécution d'une
fonction ayant l'attribut SECURITY DEFINER
. Dans la
parlance Unix, l'utilisateur de session est le « real user » et
l'utilisateur courant est le « effective user ».
current_role
et user
sont des
synonymes pour current_user
. (Le standard SQL fait
une distinction entre current_role
et
current_user
, mais
PostgreSQL ne la fait pas car il unifie les
utilisateurs et les rôles en une seule entité.)
Tableau 9.70 liste les fonctions qui
permettent d'accéder programmatiquement aux droits d'accès aux objets.
(Voir Section 5.8 pour plus d'informations sur les droits.)
Dans ces fonctions, l'utilisateur dont les droits sont interrogés peut être
indiqué par son nom ou son OID
(pg_authid
.oid
), ou si
le nom donné est public
, alors la vérification se fait
sur les droits du pseudo-rôle PUBLIC. De plus, l'argument
user
peut être complètement omis, auquel cas la
vérification se fera sur current_user
. L'objet vérifié
peut être indiqué par son nom ou son OID. Dans le cas du nom, le nom du
schéma peut être inclus si nécessaire. Le droit d'accès d'intérêt est
indiqué par une chaîne de caractères qui doit correspondre à un des mots
clés approprié pour le type d'objet (par exemple
SELECT
). En option, WITH GRANT OPTION
peut être ajouté au type de droit pour tester si le droit contient cette
option. De plus, plusieurs types de droits peuvent être listés en les
séparant par des virgules, auquel cas le résultat sera vrai si un des
droits est détenu (la casse n'est pas significative et les espaces blancs
supplémentaires sont autorisés entre les noms des droits, mais pas à
l'intérieur des noms.) Quelques exemples :
SELECT has_table_privilege('myschema.mytable', 'select'); SELECT has_table_privilege('joe', 'mytable', 'INSERT, SELECT WITH GRANT OPTION');
Tableau 9.70. Fonctions d'accès aux droits
Fonction Description |
---|
Est-ce que l'utilisateur a le droit pour une colonne de la table ?
Ceci réussit si le droit est détenu pour la table entière ou s'il est
détenu par au moins une colonne de la table. Les droits autorisés sont
|
Est-ce que l'utilisateur a le droit pour la colonne spécifié de la
table ? Ceci réussit si le droit est détenu pour la table entière
ou s'il est détenu par cette colonne de la table. La colonne peut être
spécifiée par son nom ou son numéro d'attribut
( |
Est-ce que l'utilisateur a le droit pour la base ?
Les droits autorisés sont
|
Est-ce que l'utilisateur a le droit pour le foreign data wrapper ?
Le seul droit autorisé est |
Est-ce que l'utilisateur a le droit pour la fonction ?
Le seul droit autorisé est
Lors de la spécification d'une fonction par nom, plutôt que par OID,
l'entrée autorisée est la même que pour le type de données
SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
|
Est-ce que l'utilisateur a le droit pour le langage ?
Le seul droit autorisé est |
Est-ce que l'utilisateur a le droit pour configurer ce paramètre ?
Le nom du paramètre est insensible à la casse. Les droits autorisés sont
|
Est-ce que l'utilisateur a le droit pour le schéma ?
Les droits autorisés sont
|
Est-ce que l'utilisateur a le droit pour la séquence ?
Les droits autorisés sont
|
Est-ce que l'utilisateur a le droit pour le serveur distant ?
Le seul droit autorisé est |
Est-ce que l'utilisateur a le droit pour la table ?
Les droits autorisés sont
|
Est-ce que l'utilisateur a le droit pour le tablespace ?
Le seul droit autorisé est |
Est-ce que l'utilisateur a le droit pour le type de données ? Le
seul droit autorisé est |
Est-ce que l'utilisateur a le droit pour le rôle ? Les droits
autorisés sont |
Est-ce que la sécurité niveau ligne est active pour la table dans le contexte de l'utilisateur et de l'environnement actuels ? |
Tableau 9.71 montre les opérateurs
disponibles pour le type aclitem
, qui est la représentation
catalogue pour les droits d'accès. Voir Section 5.8 pour des
informations sur la lecture des droits d'accès.
Tableau 9.71. Opérateurs aclitem
Tableau 9.71 montre quelques fonctions
supplémentaires pour la gestion du type aclitem
.
Tableau 9.72. Fonctions aclitem
Fonction Description |
---|
Construit un tableau d' |
Renvoie le tableau the |
Construit un |
Tableau 9.73 montre les fonctions qui déterminent si un certain objet est visible dans le chelub de recherche de schémas courant. Par exemple, une table est dite visible si le schéma qui la contient est dans le chemin de recherche. C'est équivalent au fait que la table doit être référencée par nom sans qualification explicite par d'un schéma. De ce fait, pour lister les noms des tables visibles :
SELECT relname FROM pg_class WHERE pg_table_is_visible(oid);
Pour les fonctions et opérateurs, un objet dans le chemin de recherche est dit visible si aucun objet du même nom et du même type se trouve avant dans le chemin. Pour les classes et familles d'opérateur, le nom et la méthode d'accès associé de l'index sont considérés.
Tableau 9.73. Fonctions de vérification de la visibilité
Toutes ces fonctions requièrent les OID des objets pour identifier l'objet
à vérifier. Si vous voulez tester un objet par son nom, il est préférable
d'utiliser les types d'alias de l'OID (regclass
, regtype
,
regprocedure
, regoperator
, regconfig
ou regdictionary
),
par exemple :
SELECT pg_type_is_visible('myschema.widget'::regtype);
Notez qu'il n'y aurait pas de sens à tester un nom de type non qualifié par son schéma de cette façon -- si le nom peut être reconnu, c'est qu'il est visible.
Tableau 9.74 liste les fonctions qui extraient des informations des catalogues systèmes.
Tableau 9.74. Fonctions d'information sur les catalogues systèmes
Fonction Description |
---|
Renvoie le nom SQL pour un type de données identifié par l'OID type et potentiellement par un modifieur de type. Envoyez NULL pour le modifieur si aucun modifieur spécifique n'est connu. |
Renvoie l'OID du type de base d'un domaine, identifié par son OID. Si l'argument est l'OID d'un type ne correspondant pas à un domaine, renvoie l'argument tel quel. Renvoie NULL si l'argument n'est pas un OID valide de type. S'il existe une chaîne de dépendances de domaine, une récursion sera exécutée jusqu'à trouver le type de base.
En supposant
|
Convertit le nom d'encodage fourni en un entier représentant l'identifiant
interne utilisé dans certains catalogues systèmes. Renvoie
|
Convertit l'entier utilisé comme identifiant interne d'encodage pour certains catalogues systèmes en une chaîne lisible par un humain. Renvoie une chaîne vide si le numéro d'encodage fourni est invalide. |
Retourne un ensemble de lignes décrivant les clés étrangères
qui existent dans le catalogue système
de PostgreSQL.
La colonne |
Reconstruit la commande de création pour une contrainte. (Ceci est une reconstruction décompilée, pas le texte original de la commande.) |
Décompile la forme interne de l'expression stockée dans les catalogues systèmes, telle que la valeur par défaut pour une colonne. Si l'expression peut contenir Vars, indiquez l'OID de la relation à laquelle elles font référence dans le deuxième paramètre ; si aucun Var n'est attendu, indiquer 0 est suffisant. |
Reconstruit la commande de création pour une fonction ou une
procédure. (C'est une reconstruction décompilée, pas le texte original
de la commande.) Le résultat est une instruction complète,
|
Reconstruit la liste d'argument d'une fonction ou procédure, dans la
forme où elle devrait apparaître dans un |
Reconstruit la liste d'arguments nécessaire pour identifier une
fonction ou une procédure, sous la forme nécessaire pour intégrer une
commande telle que |
Reconstruit la clause |
Reconstruit la commande de création pour un index (C'est une
reconstruction décompilée, et non pas le texte original de la
commande.) Si |
Renvoie un ensemble d'enregistrements décrivant les mots clés SQL
reconnus par le serveur. La colonne |
Reconstruit la définition d'une clé de partitionnement pour une table
partitionnée, sous la forme nécessaire pour une clause |
Reconstruit la commande de création pour une règle. (C'est une reconstruction décompilée, et non pas le texte original de la commande.) |
Renvoie le nom de la séquence associée à une colonne ou NULL si aucune
séquence n'est associée à la colonne. Si la colonne est une colonne
identité, la séquence associée est la séquence créée en interne pour
cette colonne. Pour les colonnes créées en utilisant un des types
serial ( Une utilisation typique est la lecture de la valeur actuelle d'une séquence pour une colonne identité ou serial. Par exemple : SELECT currval(pg_get_serial_sequence('sometable', 'id'));
|
Reconstruit le commande de création d'un objet statistique étendu. (Ceci est une reconstruction décompilée, par le texte de la commande originale.) |
Reconstruit la commande de création d'un trigger. (Ceci est une reconstruction décompilée, par le texte de la commande originale.) |
Renvoie le nom d'un rôle d'après son OID. |
Reconstruit la commande |
Reconstruit la commande |
Reconstruit la commande |
Teste si une colonne d'index a la propriété nommée. Les propriétés
communes de colonne d'index sont listées dans Tableau 9.75. (Notez que les méthodes
d'accès d'extension peuvent définir des noms de propriété
supplémentaires pour leurs index.) |
Teste si un index a la propriété nommée. Les propriétés communes
d'index sont listées dans Tableau 9.76. (Notez que les méthodes
d'accès d'extension peuvent définir des noms de propriété
supplémentaires pour leurs index.) |
Teste si une méthode d'accès aux index a la propriété nommée. Les
propriétés communes des méthodes d'accès aux index sont listées dans
Tableau 9.77.
|
Renvoie l'ensemble d'options de stockage représenté par une valeur à
partir de
|
Renvoie un tableau de drapeaux associés avec le paramètre donné ou
|
Renvoie l'ensemble d'OID des bases ayant des objets dans le tablespace
indiqué. Si cette fonction renvoie des lignes, le tablespace n'est pas
vide et ne peut pas être supprimé. Pour identifier les objets
spécifiques peuplant le tablespace, vous aurez besoin de vous
connecter aux bases identifiées par
|
Renvoie le chemin du système de fichiers où ce tablespace est situé. |
Renvoie l'OID du type de données de la valeur qui lui est fournie.
Ceci peut être utile pour débogguer ou pour construire dynamiquement
des requêtes SQL. Cette fonction est déclarée renvoyer le type
|
Renvoie le nom de la collation de la valeur qui lui est fournie. La
valeur est entre guillemet et qualifiée du schéma si nécessaire. Si
aucune collation n'a été dérivée de l'expression de l'argument, alors
|
Traduit un nom de relation en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Traduit un nom de collation en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Traduit un nom de schéma en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Traduit un nom d'opérateur en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Traduit un nom d'opérateur en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Traduit un nom de fonction ou procédure en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Traduit un nom de fonction ou procédure en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Traduit un nom de rôle en son OID. Un résultat similaire est
obtenu en convertissant la chaîne dans le type |
Analyse une chaîne de texte, en extrait un nom de type potentiel,
et le traduit en OID de type. Une erreur de syntaxe dans la chaîne
résultera en une erreur ; mais si la chaîne est un nom de type
syntaxiquement valide qui ne se trouve pas dans le catalogue,
le résultat est |
Analyse une chaîne de texte, en extrait un nom de type potentiel et
traduit son modificateur de type, le cas échéant. Une erreur de syntaxe
dans la chaîne entraînera une erreur ; mais si la chaîne est un nom de
type syntaxiquement valide qui ne se trouve pas dans les catalogues,
le résultat est
|
La plupart des fonctions qui reconstruisent (décompilent) des objets de
base ont un drapeau pretty
, qui à
true
, cause que le résultat soit « joliment
affiché ». Un bel affichage supprime les parenthèses inutiles et
ajoute des espaces blancs pour la lisibilité. Ce format est plus lisible
mais le format par défaut a plus de chance d'être interprété de la même
façon par les versions futures de
PostgreSQL ; pour éviter d'utiliser une
sortie joliment affichée pour les sauvegardes. Configurer
false
pour le paramètre pretty
donne le même résultat que d'omettre le paramètre.
Tableau 9.75. Propriétés des colonnes d'un index
Nom | Description |
---|---|
asc | Est-ce que la colonne trie en ordre ascendant sur un parcours en avant ? |
desc | Est-ce que la colonne trie en ordre descendant sur un parcours en avant ? |
nulls_first | Est-ce que la colonne trie les valeurs NULL en premier sur un parcours en avant ? |
nulls_last | Est-ce que la colonne trie les valeurs NULL en dernier sur un parcours en avant ? |
orderable | Est-ce que la colonne possède un ordre de tri défini ? |
distance_orderable | Est-ce que la colonne peut être parcourue en ordre par un
opérateur « distance », par exemple
ORDER BY col <-> constant ?
|
returnable | Est-ce que la valeur de la colonne peut être renvoyée par un parcours d'index seul ? |
search_array | Est-ce que la colonne supporte nativement les recherches
col = ANY(array) ?
|
search_nulls | Est-ce que la colonne supporte les recherches IS
NULL et IS NOT NULL ?
|
Tableau 9.76. Propriétés des index
Nom | Description |
---|---|
clusterable | L'index peut-il être utilisé dans une commande
CLUSTER ?
|
index_scan | L'index supporte-t-il les parcours simples (non bitmap) ? |
bitmap_scan | L'index supporte-t-il les parcours bitmap ? |
backward_scan | Est-ce que la direction du parcours peut être changée en milieu
de parcours (pour accepter FETCH BACKWARD sur un
curseur sans nécessiter de matérialisation) ?
|
Tableau 9.77. Propriétés des méthodes d'accès aux index
Nom | Description |
---|---|
can_order | Est-ce que la méthode d'accès supporte ASC ,
DESC et les autres mots-clés dans
CREATE INDEX ?
|
can_unique | Est-ce que la méthode d'accès supporte les index d'unicité ? |
can_multi_col | Est-ce que la méthode d'accès supporte les index multi-colonnes ? |
can_exclude | Est-ce que la méthode d'accès supporte les contraintes d'exclusion ? |
can_include | Est-ce que la méthode d'accès supporte la clause
INCLUDE de CREATE INDEX ?
|
Tableau 9.78. Drapeaux des GUC
Drapeau | Description |
---|---|
EXPLAIN | Les paramètres disposant de ce drapeau sont inclus dans les commandes
EXPLAIN (SETTINGS) .
|
NO_SHOW_ALL | Les paramètres disposant de ce drapeau sont exclus des commandes
SHOW ALL .
|
NO_RESET | Les paramètres disposant de ce drapeau n'acceptent pas les
commandes RESET .
|
NO_RESET_ALL | Les paramètres disposant de ce drapeau sont exclus des commandes
RESET ALL .
|
NOT_IN_SAMPLE | Les paramètres disposant de ce drapeau ne sont pas inclus par défaut
dans postgresql.conf .
|
RUNTIME_COMPUTED | Les paramètres disposant de ce drapeau sont calculés à l'exécution. |
Tableau 9.79 liste les fonctions relatives à l'identification et l'adressage des objets de la base.
Tableau 9.79. Fonctions d'information et d'adressage des objets
Les fonctions listées dans Tableau 9.80 extraient les commentaires préalablement enregistrés avec la commande COMMENT. Une valeur NULL est renvoyée si aucun commentaire n'a été trouvé pour les paramètres donnés.
Tableau 9.80. Fonctions d'informations sur les commentaires
Les fonctions affichées dans Tableau 9.81 peuvent être utiles pour vérifier la validité des données proposées en entrée.
Tableau 9.81. Fonctions de vérification de validité des données
Les fonctions listées dans Tableau 9.82 fournissent des informations sur la transaction serveur dans un format exportable. L'utilisation principale de ces fonctions est de déterminer les transactions validées entre deux images de base.
Tableau 9.82. Fonctions d'identifiants de transaction et d'informations sur les images de base
Fonction Description |
---|
Renvoie l'identifiant actuel de la transaction. Il sera affecté si la transaction n'en a pas déjà un (ceci arrive si elle n'a pas encore réalisé d'écritures sur la base) ; voir Section 66.1 pour les détails. Si exécutée dans une sous-transaction, elle renverra l'identifiant de transaction du niveau haut ; voir Section 66.3 pour les détails. |
Renvoie l'identifiant actuel de la transaction ou |
Renvoie le statut de validation d'une transaction récente. Le résultat
fait partie de |
Renvoie un snapshot (image) actuel, une structure de données indiquant les identifiants de transaction actuellement en cours. Seuls les identifiants de transaction de niveau haut sont inclus dans le snapshot ; les identifiants de sous-transaction ne sont pas affochées ; voir Section 66.3 our les détails. |
Renvoie l'ensemble des identifiants de transactions en cours contenu dans un snapshot (image de base). |
Renvoie le |
Renvoie le |
Est-ce que l'identifiant de transaction donné est visible d'après cette image de base (autrement dit, est-il terminé avant que l'image ne soit réalisée) ? Notez que cette fonction ne renverra pas la bonne réponse pour un identifiant de sous-transaction (subxid) ; voir Section 66.3 pour les détails. |
Le type interne des identifiants de transaction, xid
, est sur
32 bits et boucle tous les 4 milliards de transactions. Néanmoins, les
fonctions listées dans Tableau 9.82 utilisent
un type xid8
sur 64 bits qui ne boucle pas sur toute la durée
de vie d'une instance, et qui peut être converti en xid
par
conversion si nécessaire ; voir Section 66.1 pour les détails.
Le type de données pg_snapshot
enregistre des informations sur la visibilité des identifiants de
transaction à un moment particulier. Ses composants sont décrits dans
Tableau 9.83. La représentation textuelle
de pg_snapshot
est
.
Par exemple, xmin
:xmax
:xip_list
10:20:10,14,15
signifie xmin=10,
xmax=20, xip_list=10, 14, 15
.
Tableau 9.83. Composants d'image de base
Nom | Description |
---|---|
xmin |
Plus petit identifiant de transaction toujours actif. Tous les
identifiants de transaction inférieurs à
xmin sont soit validés et visibles, soit
annulés et morts.
|
xmax |
L'identifiant de transaction après le dernier identifiant terminé.
Tous les identifiants de transaction supérieurs ou égals à
xmax ne sont pas encore terminés au moment
de la création de l'image, et sont de ce fait invisibles.
|
xip_list |
Transactions en cours au moment de la création de l'image de base.
Un identifiant de transaction qui est
xmin <= et qui n'est pas dans cette liste a déjà été terminé
au moins de la création de l'image et, de ce fait, est soit visible soit
mort suivant son statut de validation. Cette liste n'inclut pas les
identifiants de transaction des sous-transactions (subxids).
|
Dans les versions de PostgreSQL antérieures à
la 13, le type xid8
n'existait pas, donc des variantes de ces
fonctions étaient fournies. Elles utilisaient le type bigint
pour représenter un identifiant sur 64 bits, avec un type de données pour
l'image nommé txid_snapshot
. Ces anciennes fonctions avaient
le mot txid
dans leur nom. Elles sont toujours
acceptées pour des raisons de compatibilité ascendante, mais pourraient
être supprimées dans une version future. Voir Tableau 9.84.
Tableau 9.84. Fonctions obsolètes sur les identifiants de transactions et les informations sur les images de base
Les fonctions montrées dans Tableau 9.85 fournissent des informations sur le moment où d'anciennes transactions ont été validées. Elles fournissent des informations utiles seulement quand le paramètre track_commit_timestamp est activé, et seulement pour les transactions qui ont été validées après l'activation du paramètre. L'information d'horodatage de la validation est supprimée au fil du temps pendant un nettoyage (VACUUM).
Tableau 9.85. Fonctions d'informations sur les transactions validées
Les fonctions listées dans Tableau 9.86
affichent des informations initialisées lors de l'exécution de la commande
initdb
, telle que la version du catalogue. Elles
affichent aussi des informations sur les écritures dans les journaux de
transactions et le traitement des checkpoints. Ces informations sont
globales à l'instance, et non pas spécifique à une base. Ces fonctions
fournissent la plupart des informations en utilisant la mêle source que
l'application pg_controldata.
Tableau 9.86. Fonctions des données de contrôle
Fonction Description |
---|
Renvoie des informations sur l'état du checkpoint en cours, comme indiqué dans Tableau 9.87. |
Renvoie des informations sur l'état du fichier de contrôle en cours, comme indiqué dans Tableau 9.88. |
Renvoie des informations sur l'état d'initialisation de l'instance, comme indiqué dans Tableau 9.89. |
Renvoie des informations sur l'état de restauration, comme indiqué dans Tableau 9.90. |
Tableau 9.87. Colonnes en sortie de pg_control_checkpoint
Nom de la colonne | Type de données |
---|---|
checkpoint_lsn | pg_lsn |
redo_lsn | pg_lsn |
redo_wal_file | text |
timeline_id | integer |
prev_timeline_id | integer |
full_page_writes | boolean |
next_xid | text |
next_oid | oid |
next_multixact_id | xid |
next_multi_offset | xid |
oldest_xid | xid |
oldest_xid_dbid | oid |
oldest_active_xid | xid |
oldest_multi_xid | xid |
oldest_multi_dbid | oid |
oldest_commit_ts_xid | xid |
newest_commit_ts_xid | xid |
checkpoint_time | timestamp with time zone |
Tableau 9.88. Colonnes en sortie de pg_control_system
Nom de colonne | Type de données |
---|---|
pg_control_version | integer |
catalog_version_no | integer |
system_identifier | bigint |
pg_control_last_modified | timestamp with time zone |
Tableau 9.89. Colonnes en sortie de pg_control_init
Nom de colonne | Type de données |
---|---|
max_data_alignment | integer |
database_block_size | integer |
blocks_per_segment | integer |
wal_block_size | integer |
bytes_per_wal_segment | integer |
max_identifier_length | integer |
max_index_columns | integer |
max_toast_chunk_size | integer |
large_object_chunk_size | integer |
float8_pass_by_value | boolean |
data_page_checksum_version | integer |
Tableau 9.90. Colonnes en sortie de pg_control_recovery
Nom de colonne | Type de données |
---|---|
min_recovery_end_lsn | pg_lsn |
min_recovery_end_timeline | integer |
backup_start_lsn | pg_lsn |
backup_end_lsn | pg_lsn |
end_of_backup_record_required | boolean |
Les fonctions disponibles sur Tableau 9.91 affichent la version.
Tableau 9.91. Fonctions d'information sur la version
Fonction Description |
---|
Renvoie une chaîne décrivant la version du serveur PostgreSQL.
Vous pouvez également obtenir cette information à partir de
server_version, ou pour une version lisible par machine,
utilisez server_version_num. Les développeurs de logiciels
doivent utiliser |
Renvoie une chaîne représentant une version d'Unicode utilisée par PostgreSQL. |
Renvoie une chaîne représentant la version d'Unicode utilisée par ICU, si
le serveur a été construit avec le support d'ICU. Dans le cas
contraire, elle renvoie
|
Les fonctions disponibles dans Tableau 9.92 affichent des informations sur l'état ds résumés WAL. Voir summarize_wal.
Tableau 9.92. Fonctions d'information sur les résumés WAL