Documentation PostgreSQL 14.22 » Interfaces client » libpq -- Bibliothèque C » Variables d'environnement

Précédent | Niveau supérieur | Suivant
34.14. Système d'événements | Sommaire | 34.16. Fichier de mots de passe

## 34.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.

- `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 34.16.

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

- `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 (voir Section 34.17). La valeur par défaut est `~/.pg_service.conf`, ou `%APPDATA%\postgresql\.pg_service.conf` sur Microsoft Windows.

- `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.

- `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.

- `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.

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.