以下の環境変数を使用して、呼び出し側のプログラムで直接値を指定しなかった場合の接続パラメータのデフォルト値を選ぶことができます。
この値は、PQconnectdb
、PQsetdbLogin
およびPQsetdb
で使用されます。
例えば、簡単なクライアントアプリケーションでは、データベース接続情報を直接プログラムに記述しない方が便利です。
PGHOST
はhost接続パラメータと同様に動作します。
PGHOSTADDR
はhostaddr接続パラメータと同様に動作します。
PGHOST
の代わりに設定して、または、PGHOST
に追加して、DNS検索に要するオーバヘッドをなくすことができます。
PGPORT
はport接続パラメータと同様に動作します。
PGDATABASE
はdbname接続パラメータと同様に動作します。
PGUSER
はuser接続パラメータと同様に動作します。
PGPASSWORD
はpassword接続パラメータと同様に動作します。
この環境変数は、一部のオペレーティングシステムではroot以外のユーザがpsコマンド経由で環境変数を見ることができるなど、セキュリティ上の理由から現在では推奨されていません。
代わりに~/.pgpass
(31.15. パスワードファイルを参照してください)を使用することを検討してください。
PGPASSFILE
は検索に使用するパスワードファイルの名前を指定します。
指定していなければ、デフォルトの~/.pgpass
(31.15. パスワードファイルを参照してください)となります。
PGSERVICE
はservice接続パラメータと同様に動作します。
PGSERVICEFILE
はユーザごとの接続サービスファイルを指定します。
設定されていない場合、デフォルトは~/.pg_service.conf
(31.16. 接続サービスファイル参照)となります。
PGREALM
は、PostgreSQLで使用するKerberosのレルムがローカルのものと異なる場合に、そのレルムを設定します。
PGREALM
が設定されると、libpqアプリケーションは設定されたレルム用のサーバと認証を行い、また、別のチケットファイルを使って、ローカルのチケットファイルと競合しないようにします。
この環境変数は、サーバがGSSAPIによる認証を選択した場合にのみ使われます。
PGOPTIONS
はoptions接続パラメータと同様に動作します。
PGAPPNAME
はapplication_name接続パラメータと同様に動作します。
PGSSLMODE
はsslmode接続パラメータと同様に動作します。
PGREQUIRESSL
はrequiressl接続パラメータと同様に動作します。
PGSSLCOMPRESSION
はsslcompression接続パラメータと同様に動作します。
PGSSLCERT
はsslcert接続パラメータと同様に動作します。
PGSSLKEY
はsslkey接続パラメータと同様に動作します。
PGSSLROOTCERT
はsslrootcert接続パラメータと同様に動作します。
PGSSLCRL
はsslcrl接続パラメータと同様に動作します。
PGREQUIREPEER
はrequirepeer接続パラメータと同様に動作します。
PGKRBSRVNAME
はkrbsrvname接続パラメータと同様に動作します。
PGGSSLIB
はgsslib接続パラメータと同様に動作します。
PGCONNECT_TIMEOUT
はconnect_timeout接続パラメータと同様に動作します。
PGCLIENTENCODING
はclient_encoding接続パラメータと同様に動作します。
以下の環境変数を使用して、PostgreSQLセッション毎のデフォルト動作を指定することができます。 (また、ユーザ毎、もしくは、データベース毎を単位としたデフォルト動作の設定方法についてはALTER ROLEおよびALTER DATABASEコマンドを参照してください。)
これらの環境変数の正確な値については、SET SQLコマンドを参照してください。
以下の環境変数は、libpqの内部動作を決定します。 これらはコンパイル時のデフォルトを上書きします。