以下の環境変数を使用して、呼び出し側のプログラムで直接値を指定しなかった場合の接続パラメータのデフォルト値を選ぶことができます。
この値は、PQconnectdb、PQsetdbLoginおよびPQsetdbで使用されます。
例えば、簡単なクライアントアプリケーションでは、データベース接続情報を直接プログラムに記述しない方が便利です。
PGHOSTはhost接続パラメータと同様に動作します。
PGHOSTADDRはhostaddr接続パラメータと同様に動作します。
PGHOSTの代わりに設定して、または、PGHOSTに追加して、DNS検索に要するオーバーヘッドをなくすことができます。
PGPORTはport接続パラメータと同様に動作します。
PGDATABASEはdbname接続パラメータと同様に動作します。
PGUSERはuser接続パラメータと同様に動作します。
PGPASSWORDはpassword接続パラメータと同様に動作します。
この環境変数は、一部のオペレーティングシステムではroot以外のユーザがpsコマンド経由で環境変数を見ることができるなど、セキュリティ上の理由から現在では推奨されていません。
代わりにパスワードファイル(34.16を参照してください)を使用することを検討してください。
PGPASSFILEはpassfile接続パラメータと同様に動作します。
PGREQUIREAUTHはrequire_auth接続パラメータと同様に動作します。
PGCHANNELBINDINGはchannel_binding接続パラメータと同様に動作します。
PGSERVICEはservice接続パラメータと同様に動作します。
PGSERVICEFILEは、ユーザ毎の接続サービスファイルを指定します(34.17参照)。
デフォルトは~/.pg_service.conf、Microsoft Windowsでは%APPDATA%\postgresql\.pg_service.confです。
PGOPTIONSはoptions接続パラメータと同様に動作します。
PGAPPNAMEはapplication_name接続パラメータと同様に動作します。
PGSSLMODEはsslmode接続パラメータと同様に動作します。
PGREQUIRESSLはrequiressl接続パラメータと同様に動作します。
この環境変数はPGSSLMODE変数があるため、廃止予定となっています。
両方の変数を設定すると、PGREQUIRESSLの設定は無視されます。
PGSSLCOMPRESSIONはsslcompression接続パラメータと同様に動作します。
PGSSLCERTはsslcert接続パラメータと同様に動作します。
PGSSLKEYはsslkey接続パラメータと同様に動作します。
PGSSLCERTMODEはsslcertmode接続パラメータと同様に動作します。
PGSSLROOTCERTはsslrootcert接続パラメータと同様に動作します。
PGSSLCRLはsslcrl接続パラメータと同様に動作します。
PGSSLCRLDIRは、sslcrldir接続パラメータと同様に動作します。
PGSSLSNIはsslsni接続パラメータと同様に動作します。
PGREQUIREPEERはrequirepeer接続パラメータと同様に動作します。
PGSSLMINPROTOCOLVERSIONはssl_min_protocol_version接続パラメータと同様に動作します。
PGSSLMAXPROTOCOLVERSIONはssl_max_protocol_version接続パラメータと同様に動作します。
PGGSSENCMODEはgssencmode接続パラメータと同様に動作します。
PGKRBSRVNAMEはkrbsrvname接続パラメータと同様に動作します。
PGGSSLIBはgsslib接続パラメータと同様に動作します。
PGGSSDELEGATIONはgssdelegation接続パラメータと同様に動作します。
PGCONNECT_TIMEOUTはconnect_timeout接続パラメータと同様に動作します。
PGCLIENTENCODINGはclient_encoding接続パラメータと同様に動作します。
PGTARGETSESSIONATTRSはtarget_session_attrs接続パラメータと同様に動作します。
PGLOADBALANCEHOSTSはload_balance_hosts接続パラメータと同様に動作します。
以下の環境変数を使用して、PostgreSQLセッション毎のデフォルト動作を指定することができます。 (また、ユーザ毎、もしくは、データベース毎を単位としたデフォルト動作の設定方法についてはALTER ROLEおよびALTER DATABASEコマンドを参照してください。)
これらの環境変数の正確な値については、SET SQLコマンドを参照してください。
以下の環境変数は、libpqの内部動作を決定します。 これらはコンパイル時のデフォルトを上書きします。