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