PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.1 » Interfaces client » libpq -- Bibliothèque C » Variables d'environnement

32.15. Variables d'environnement #

Les variables d'environnement suivantes peuvent être utilisées pour sélectionner des valeurs par défaut pour les paramètres de connexion, valeurs qui seront utilisées par PQconnectdb, PQsetdbLogin et PQsetdb si aucune valeur n'est directement précisée par le code appelant. Elles sont utiles pour éviter de coder en dur les informations de connexion à la base de données dans les applications clients, par exemple.

  • PGHOST se comporte de la même façon que le paramètre de configuration host.

  • PGSSLNEGOTIATION se comporte de la même façon que le paramètre de connexion sslnegotiation.

  • PGHOSTADDR se comporte de la même façon que le paramètre de configuration hostaddr. Elle peut être initialisée à la place ou en plus de PGHOST pour éviter la charge supplémentaire d'une résolution DNS.

  • PGPORT se comporte de la même façon que le paramètre de configuration port.

  • PGDATABASE se comporte de la même façon que le paramètre de configuration dbname.

  • PGUSER se comporte de la même façon que le paramètre de configuration user.

  • PGPASSWORD se comporte de la même façon que le paramètre de configuration password. L'utilisation de cette variable d'environnement n'est pas recommandée pour des raisons de sécurité, car certains systèmes d'exploitation autorisent les utilisateurs autres que root à voir les variables d'environnement du processus via ps) ; à la place, envisagez l'utilisation d'un fichier de mots de passe (voir la Section 32.16.

  • PGPASSFILE se comporte de la même façon que le paramètre de connexion passfile.

  • PGREQUIREAUTH se comporte de la même façon que le paramètre de connexion require_auth.

  • PGCHANNELBINDING se comporte de la même façon que le paramètre de connexion channel_binding.

  • PGSERVICE se comporte de la même façon que le paramètre de configuration service.

  • PGSERVICEFILE indique le nom du fichier service de connexion par utilisateur. Sa valeur par défaut est ~/.pg_service.conf, sauf sur Microsoft Windows où elle est %APPDATA%\postgresql\.pg_service.conf.

  • PGOPTIONS se comporte de la même façon que le paramètre de configuration options.

  • PGAPPNAME se comporte de la même façon que le paramètre de connexion application_name.

  • PGSSLMODE se comporte de la même façon que le paramètre de configuration sslmode.

  • PGREQUIRESSL se comporte de la même façon que le paramètre de configuration requiressl. Cette variable d'environnement est obsolète, remplacée par la variable PGSSLMODE  si les deux variables sont initialisées, PGREQUIRESSL est ignoré.

  • PGSSLCOMPRESSION se comporte de la même façon que le paramètre de connexion sslcompression.

  • PGSSLCERT se comporte de la même façon que le paramètre de configuration sslcert.

  • PGSSLKEY se comporte de la même façon que le paramètre de configuration sslkey.

  • PGSSLCERTMODE se comporte de la même façon que le paramètre de connexion sslcertmode.

  • PGSSLROOTCERT se comporte de la même façon que le paramètre de configuration sslrootcert.

  • PGSSLCRL se comporte de la même façon que le paramètre de configuration sslcrl.

  • PGSSLCRLDIR se comporte de la même façon que le paramètre de connexion sslcrldir.

  • PGSSLSNI se comporte de la même façon que le paramètre de connexion sslsni.

  • PGREQUIREPEER se comporte de la même façon que le paramètre de connexion requirepeer.

  • PGSSLMINPROTOCOLVERSION se comporte de la même façon que le paramètre de connexion ssl_min_protocol_version.

  • PGSSLMAXPROTOCOLVERSION se comporte de la même façon que le paramètre de connexion ssl_max_protocol_version.

  • PGKRBSRVNAME se comporte de la même façon que le paramètre de configuration krbsrvname.

  • PGGSSENCMODE se comporte de la même façon que le paramètre de connexion gssencmode.

  • PGGSSLIB se comporte de la même façon que le paramètre de configuration gsslib.

  • PGGSSDELEGATION se comporte de la même façon que le paramètre de connexion gssdelegation.

  • PGCONNECT_TIMEOUT se comporte de la même façon que le paramètre de configuration connect_timeout.

  • PGCLIENTENCODING se comporte de la même façon que le paramètre de connexion client_encoding.

  • PGTARGETSESSIONATTRS se comporte de la même façon que le paramètre de connexion target_session_attrs.

  • PGLOADBALANCEHOSTS se comporte de la même façon que le paramètre de connexion load_balance_hosts.

Les variables d'environnement peuvent être utilisées pour spécifier le comportement par défaut de chaque session PostgreSQL (voir aussi les commandes ALTER ROLE et ALTER DATABASE pour modifier le comportement par défaut par utilisateur ou par base de données).

  • PGDATESTYLE initialise le style par défaut de la représentation de la date et de l'heure (équivalent à SET datestyle TO ...).

  • PGTZ initialise le fuseau horaire par défaut (équivalent à SET timezone TO ...).

  • PGGEQO initialise le mode par défaut pour l'optimiseur génétique de requêtes (équivalent à SET geqo TO ...).

Référez-vous à la commande SQL SET pour plus d'informations sur des valeurs correctes pour ces variables d'environnement.

Les variables d'environnement suivantes déterminent le comportement interne de libpq ; elles surchargent les valeurs par défaut issues de la compilation.

  • PGSYSCONFDIR configure le répertoire contenant le fichier pg_service.conf et, peut-être dans une future version, d'autres fichiers de configuration globaux au système.

  • PGLOCALEDIR configure le répertoire contenant les fichiers locale pour l'internationalisation des messages.