9.20. Fonctions d'administration système

Tableau 9-44 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

NomType de retourDescription
current_setting (nom_paramètre) textvaleur actuelle du paramètre
set_config (nom_paramètre, nouvelle_valeur, est_locale) textconfigure 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)
      

La fonction montrée dans Tableau 9-45 envoie des signaux de contrôle aux autres processus serveur. L'utilisation de cette fonction est restreinte aux superutilisateurs.

Tableau 9-45. Fonctions d'envoi de signal aux serveurs

NomType de retourDescription
pg_cancel_backend (pid) intAnnule la requête en cours du serveur

Cette fonction renvoie 1 en cas de succès, 0 en cas d'échec. L'identifiant du processus (pid) d'un serveur actif backend est disponible à partir de la colonne procpid dans la vue pg_stat_activity ou en listant les processus postgres sur le serveur avec ps.

Les fonctions montrées dans Tableau 9-46 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

NomType de retourDescription
pg_start_backup (texte_label) textDébut de la sauvegarde à chaud
pg_stop_backup() textFin 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'aire 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 Section 22.3.