Documentation PostgreSQL 8.1.23 > Langage SQL > Fonctions et opérateurs > Fonctions d'administration système | |
Fonctions d'informations système | Conversion de types |
Le Tableau 9.44, « Fonctions de paramétrage de configuration » affiche les fonctions disponibles pour connaître ou modifier les paramètres de configuration en exécution.
Tableau 9.44. Fonctions de paramétrage de configuration
Nom | Type de retour | Description |
---|---|---|
current_setting (nom_paramètre) | text | valeur actuelle du paramètre |
set_config (nom_paramètre, , nouvelle_valeur, , est_locale) | text | configure le paramètre et renvoie la nouvelle valeur |
La fonction current_setting renvoie la valeur courante du paramètre nom_paramètre. Elle correspond à la commande SQL SHOW. Un exemple :
SELECT current_setting('datestyle'); current_setting ----------------- ISO, MDY (1 row)
set_config configure le paramètre nom_paramètre avec nouvelle_valeur. Si est_locale vaut true, la nouvelle valeur s'appliquera seulement à la transaction en cours. Si vous voulez que la nouvelle valeur s'applique à la session en cours, utilisez false à la place. La fonction correspond à la commande SQL SET. Un exemple :
SELECT set_config('log_statement_stats', 'off', false); set_config ------------ off (1 row)
Les fonctions montrées dans le Tableau 9.45, « Fonctions d'envoi de signal aux serveurs » envoient des signaux de contrôle aux autres processus serveur. L'utilisation de ces fonctions est restreinte aux superutilisateurs.
Tableau 9.45. Fonctions d'envoi de signal aux serveurs
Nom | Type de retour | Description |
---|---|---|
pg_cancel_backend (pid int) | boolean | Annule la requête en cours du serveur |
pg_reload_conf() | boolean | Cause le chargement des fichiers de configuration par les processus serveur |
pg_rotate_logfile() | boolean | Demande une rotation du journal des traces du serveur |
Chacune de ces fonctions renvoient true en cas de succès, false en cas d'échec.
pg_cancel_backend envoie un signal demandant l'annulation de la requête (SIGINT) à un processus serveur identifié par l'ID du processus. L'identifiant du processus d'un serveur actif peut se trouver à partir de la colonne procpid dans la vue pg_stat_activity ou en listant les processus postgres sur le serveur avec ps.
pg_reload_conf envoie un signal SIGHUP au postmaster impliquant un nouveau chargement des fichiers de configuration pour tous les processus serveur.
pg_rotate_logfile signale au gestionnaire de journaux de trace de basculer immédiatement vers un nouveau fichier de sortie. Ceci fonctionne seulement quand redirect_stderr est utilisé pour les traces, sinon il n'y a pas de sous-processus de gestion des traces.
Les fonctions montrées dans le Tableau 9.46, « Fonctions de contrôle de la sauvegarde » aident à l'exécution de sauvegardes à chaud. L'utilisation de ces fonctions est restreinte aux superutilisateurs.
Tableau 9.46. Fonctions de contrôle de la sauvegarde
Nom | Type de retour | Description |
---|---|---|
pg_start_backup (label text) | text | Début de la sauvegarde à chaud |
pg_stop_backup() | text | Fin de la sauvegarde à chaud |
pg_start_backup accepte un seul paramètre qui est un label défini arbitrairement par l'utilisateur pour la sauvegarde (typiquement, cela sera le nom sous lequel le fichier de sauvegarde sera stocké). La fonction écrit un fichier label dans le répertoire de données du groupe, puis renvoie le décalage du WAL de début de sauvegarde au format texte (l'utilisateur n'a pas besoin de faire attention à la valeur du résultat mais il est fourni au cas où il pourrait être utile).
pg_stop_backup supprime le fichier label créé par pg_start_backup et crée, à la place, un fichier historique dans l'emplacement des archives WAL. Ce fichier inclut le label donné à pg_start_backup, les décalages de début et de fin des WAL pour la sauvegarde ainsi que les heures de début et de fin de la sauvegarde. La valeur en retour est le décalage du WAL de fin (qui a de nouveau peu d'intérêt).
Pour des détails sur le bon usage de ces fonctions, voir la Section 23.3, « Sauvegardes à chaud et récupération à un instant (PITR) ».
Les fonctions montrées dans le Tableau 9.47, « Fonctions de calcul de taille des objets de la base de données » calculent l'utilisation de l'espace disque par les objets de la base de données.
Tableau 9.47. Fonctions de calcul de taille des objets de la base de données
Nom | Code de retour | Description |
---|---|---|
pg_column_size(any) | int | Nombre d'octets utilisé pour stocker une valeur particulière (pouvant être compressée) |
pg_tablespace_size(oid) | bigint | Espace disque utilisé par le tablespace dont l'OID est spécifié |
pg_tablespace_size(name) | bigint | Espace disque utilisé par le tablespace dont le nom est spécifié |
pg_database_size(oid) | bigint | Espace disque utilisé par la base de données dont l'OID est spécifié |
pg_database_size(name) | bigint | Espace disque utilisé par la base de données dont le nom est spécifié |
pg_relation_size(oid) | bigint | Espace disque utilisé par la table ou l'index dont l'OID est spécifié |
pg_relation_size(text) | bigint | Espace disque utilisé par la table ou l'index dont le nom est spécifié. Ce dernier peut être qualifié avec un nom de schéma |
pg_total_relation_size(oid) | bigint | Espace disque occupé par la table dont l'OID est spécifié, en incluant les index et les données stockées par les tables TOAST |
pg_total_relation_size(text) | bigint | Espace disque total utilisé par la table dont le nom est spécifié, en incluant les index et les données stockées dans les tables TOAST. Le nom de la table peut être qualifié avec un nom de schéma |
pg_size_pretty(bigint) | text | Convertit une taille en octets dans un format lisible par un humain, avec des unités de taille |
pg_column_size affiche l'espace utilisé pour stocker toute valeur individuelle.
pg_tablespace_size et pg_database_size acceptent l'OID ou le nom d'un tablespace ou d'une base de données, et renvoient l'espace disque total utilisé.
pg_relation_size accepte l'OID ou le nom d'une table, d'un index ou d'une table toast, et renvoie la taille en octet.
pg_total_relation_size accepte l'OID ou le nom d'une table ou d'une table toast, et renvoie la taille en octets des données et de tous les index et tables toast associées.
pg_size_pretty peut être utilisé pour formater le résultat d'une des autres fonctions d'une façon lisible par un être humain, c'est-à-dire en utilisant kB, MB, GB ou TB lorsque cela est approprié.
Les fonctions montrées dans le Tableau 9.48, « Fonctions d'accès générique aux fichiers » fournissent un accès natif aux du serveur. Seuls les fichiers contenus dans le répertoire du groupe de la base de donénes et ceux du répertoire log_directory sont accessibles. Utilisez un chemin relatif pour les fichiers du répertoire du groupe et un chemin correspondant à la configuration du paramètre log_directory pour les journaux de trace. L'utilisation de ces fonctions sont restreintes aux superutilisateurs.
Tableau 9.48. Fonctions d'accès générique aux fichiers
Nom | Code de retour | Description |
---|---|---|
pg_ls_dir(nom_répertoire text) | setof text | Liste le contenu d'un répertoire |
pg_read_file(nom_fichier text, décalage bigint, longueur bigint) | text | renvoie le contenu d'un fichier texte |
pg_stat_file(nom_fichier text) | record | renvoie des informations sur un fichier |
pg_ls_dir renvoie tous les noms du répertoire spécifié sauf les entrées spéciales « . » et « .. ».
pg_read_file renvoie une partie d'un fichier texte, débutant au décalage indiqué, renvoyant au plus longueur octets (moins si la fin du fichier est atteinte avant). Si le décalage est négatif, il est relatif à la fin du fichier.
pg_stat_file renvoie un enregistrement contenant la taille du fichier, la date et heure du dernier accès, la date et heure de la dernière modification, la date et heure du dernier changement de statut (plateformes Unix seulement), la date et heure de création (Windows seulement) et un booléen indiquant s'il s'agit d'un répertoire. Les usages typiques incluent :
SELECT * FROM pg_stat_file('nomfichier'); SELECT (pg_stat_file('nomfichier')).modification;