pg_settings
   La vue pg_settings fournit un accès aux paramètres
   d'exécution du serveur. C'est essentiellement une interface alternative aux
   commandes SHOW et SET. Elle fournit
   aussi un accès à certaines informations des paramètres qui ne sont pas directement
   accessibles avec SHOW, telles que les valeurs minimales et maximales.
  
Tableau 51.86. Colonnes de pg_settings
| Nom | Type | Description | 
|---|---|---|
name | text | Nom du paramètre d'exécution | 
setting | text | Valeur actuelle du paramètre | 
unit | text | Unité implicite du paramètre | 
category | text | Groupe logique du paramètre | 
short_desc | text | Description brève du paramètre | 
extra_desc | text | Information supplémentaire, plus détaillée, sur le paramètre | 
context | text | Contexte requis pour positionner la valeur du paramètre (voir ci-dessous) | 
vartype | text | Type du paramètre (bool,
       enum,
       integer,
       real ou string)
       | 
source | text | Source de la valeur du paramètre actuel | 
min_val | text | Valeur minimale autorisée du paramètre (NULL pour les valeurs non numériques) | 
max_val | text | Valeur maximale autorisée du paramètre (NULL pour les valeurs non numériques) | 
enumvals | text[] | Valeurs autorisées pour un paramètre enum (NULL pour les valeurs non enum) | 
boot_val | text | Valeur de paramètre prise au démarrage du serveur si le paramètre n'est pas positionné d'une autre façon | 
reset_val | text | Valeur à laquelle RESET ramènerait le paramètre
       dans la session courante | 
sourcefile | text | Fichier de configuration dans lequel ce fichier a été positionné
       (NULL pour les valeurs positionnées ailleurs que dans un fichier de
       configuration, examiné par un utilisateur qui n'est ni un
       superutilisateur ni un membre de
       pg_read_all_settings) ; utile lors de
       l'utilisation de directives include dans les
       fichiers de configuration | 
sourceline | integer | Numéro de ligne du fichier de configuration à laquelle cette
       valeur a été positionnée (NULL pour des valeurs positionnées ailleurs
       que dans un fichier de configuration, ou quand examiné par un
       utilisateur qui n'est ni superutilisateur ni un membre de
       pg_read_all_settings).
       | 
pending_restart | boolean | true si la valeur a été modifiée
       dans le fichier de configuration mais a besoin d'un redémarrage ;
       ou false autrement. | 
   Il existe différentes valeurs de context.
   Les voici, classées dans l'ordre de difficulté décroissante pour la
   modification d'un paramètre :
  
internal
      Ces paramètres ne peuvent pas être modifiés directement ; ils
      reflètent des valeurs internes. Certaines sont modifiables en
      compilant le serveur avec des options différentes pour l'étape
      de configuration, ou en changeant des options lors de l'étape du
      initdb.
     
postmaster
      Ces paramètres sont seulement appliqués au démarrage du serveur,
      donc toute modification nécessite un redémarrage du serveur. Les
      valeurs sont typiquement conservées dans le fichier
      postgresql.conf ou passées sur la ligne de
      commande lors du lancement du serveur. Bien sûr, tout paramètre
      dont la colonne context est inférieure
      peut aussi être configuré au démarrage du serveur.
     
sighup
      Les modifications sur ces paramètres peuvent se faire dans le
      fichier postgresql.conf sans avoir à
      redémarrer le serveur. L'envoi d'un signal
      SIGHUP au processus père (historiquement
      appelé postmaster) le forcera à relire le fichier
      postgresql.conf et à appliquer les
      modifications. Ce processus enverra aussi le signal
      SIGHUP aux processus fils pour qu'ils
      tiennent compte des nouvelles valeurs.
     
superuser-backend
      Les modifications de ces réglages peuvent être effectuées
      dans postgresql.conf sans redémarrer
      le serveur. Ils peuvent également être positionnés pour
      une session en particulier dans le paquet réseau de demande
      de connexion (par exemple, via la variable d'environnement
      PGOPTIONS de libpq),
      mais seulement si l'utilisateur se connectant est
      superutilisateur. Cependant, ces réglages ne changent jamais
      dans une session une fois qu'elle a débutée. Si vous les modifiez
      dans postgresql.conf, envoyez un signal
      SIGHUP à postmaster pour le forcer à
      relire postgresql.conf. Les nouvelles valeurs
      n'affecteront que les sessions ouvertes après cette relecture.
     
backend
      Les modifications sur ces paramètres peuvent se faire dans le
      fichier postgresql.conf sans avoir à
      redémarrer le serveur ; ils peuvent aussi être configurés
      pour une session particulière dans le paquet de demande de
      connexion (par exemple, via la variable d'environnement
      PGOPTIONS gérée par la bibliothèque
      libpq) ; tous les utilisateurs peuvent
      faire de telles modifications pour leur session. Néanmoins,
      ces modifications ne changent jamais une fois
      que la session a démarré. Si vous les
      changez dans le fichier postgresql.conf,
      envoyez un signal SIGHUP à postmaster
      car ça le forcera à relire le fichier
      postgresql.conf. Les nouvelles valeurs
      affecteront seulement les sessions lancées après la relecture de
      la configuration.
     
superuser
      Ces paramètres sont configurables partir du fichier
      postgresql.conf ou à l'intérieur d'une
      session via la commande SET ; mais seuls
      les superutilisateurs peuvent les modifier avec
      SET. Les modifications apportées dans le fichier
      postgresql.conf affecteront aussi les
      sessions existantes si aucune valeur locale à la session n'a été
      établie avec une commande SET.
     
user
      Ces paramètres peuvent être configurés à partir du fichier
      postgresql.conf ou à l'intérieur d'une session
      via la commande SET. Tout utilisateur est
      autorisé à modifier la valeur sur sa session. les modifi Any user is
      allowed to change his session-local value. Les modifications
      apportées dans le fichier postgresql.conf
      affecteront aussi les sessions existantes si aucune valeur locale
      à la session n'a été établie avec une commande
      SET.
     
Voir Section 19.1 pour plus d'informations sur les différentes façons de modifier ces paramètres.
   La vue pg_settings n'accepte ni insertion ni
   suppression mais peut être actualisée. Une requête UPDATE
   appliquée
   à une ligne de pg_settings est équivalente à
   exécuter la commande SET
   sur ce paramètre. Le changement affecte uniquement la valeur utilisée
   par la session en cours. Si un UPDATE est lancé à
   l'intérieur d'une transaction annulée par la suite, les effets de la
   commande UPDATE disparaissent à l'annulation de la
   transaction. Lorsque la transaction est validée, les effets
   persistent jusqu'à la fin de la session, à moins qu'un autre
   UPDATE ou SET ne modifie la valeur.