以下の環境変数を使用して、呼び出し側のプログラムで直接値を指定しなかった場合の接続パラメータのデフォルト値を選ぶことができます。 この値は、PQconnectdb、PQsetdbLoginおよび、PQsetdb で使用されます。 例えば、簡単なクライアントアプリケーションでは、データベース接続情報を直接プログラムに記述しない方が便利です。
PGHOST は、デフォルトのサーバ名を設定します。 スラッシュで始まる場合は TCP/IP 通信ではなく、Unix ドメインソケット通信を指定したものになります。 この時の値はソケットファイルが格納されるディレクトリ名です(デフォルトでは /tmp です)。
PGHOSTADDRは、データベースサーバの数字で表したIPアドレスを指定します。 PGHOSTの代わりに設定して、DNS検索に要するオーバヘッドをなくすことができます。 この相互作用についての詳細は、パラメータについての文書、上述のPQconnectdbを参照してください。
PGPORT は、PostgreSQL サーバと通信するためのデフォルトの TCP ポート番号、または Unix ドメインソケットファイルの拡張子を設定します。
PGPASSWORD は、バックエンドがパスワード認証を要求した場合に使われるパスワードを設定します。 この環境変数は、セキュリティ上の理由から現在では推奨されていません。 $HOME/.pgpassを使用することを検討してください。 (項27.11を参照してください。)
PGSERVICEはpg_service.conf内で検索されるサービス名を設定します。 これは、すべてのパラメータ設定を簡易化する方法を提供します。
PGREALM は、PostgreSQL で使用する Kerberos のレルムがローカルのものと異なる場合に、そのレルムを設定します。 PGREALM が設定されると、libpqアプリケーションは設定されたレルム用のサーバと認証を行い、また、別のチケットファイルを使って、ローカルのチケットファイルと競合しないようにします。 この環境変数は、サーバが Kerberos による認証を選択した場合にのみ使われます。
PGSSLMODEは、サーバとのSSL接続用の調整を行なうかどうか、および、その際の重要度を決定します。 4つのモードがあります。 disable は、暗号化しないSSL接続のみを試みます。 allowでの調停は、まず非SSL接続が試みられ、失敗した場合にSSL接続を試みます。 prefer(デフォルト)での調停は、まずSSL接続が試みられ、失敗した場合に通常の非SSLを試みます。 requireでは、SSLのみが試みられます。 PostgreSQLがSSLサポートなしでコンパイルされている時に requireを使用するとエラーになります。 allow と prefer オプションではエラーになりませんが、libpqはSSL接続を調停できません。
PGREQUIRESSL はSSL経由の接続が必須か否かを指定します。 "1"と指定すると、サーバがSSL接続を受け付けない場合にlibpq は接続を拒絶します。 (sslmode prefer と同じです。) このオプションはsslmodeにより廃れたものになり、また、SSLサポート付きでPostgreSQLがコンパイルされた場合にのみ利用できます。
PGCONNECT_TIMEOUTは、libpqがPostgreSQLサーバへの接続確立を待つ、最大秒数を指定します。 未設定、もしくは、ゼロに設定した場合、libpqは永久に待機します。 この待機時間は2秒未満に設定することは非推奨です。
以下の環境変数を使用して、PostgreSQL セッション毎のデフォルト動作を指定することができます。 (また、ユーザ毎、もしくは、データベース毎を単位としたデフォルト動作の設定方法についてはALTER USER および ALTER DATABASEコマンドを参照してください。)
PGDATESTYLE は、デフォルトの日付/時刻表現形式を設定します。 (SET datestyle TO ...と等価です。)
PGCLIENTENCODING は、デフォルトのクライアントの文字セット符号化方式を指定します。 (SET client_encoding TO ...と等価です。)
PGGEQO は、遺伝的問い合わせオブティマイザのデフォルトのモードを設定します。 (SET geqo TO ...と等価です。)
これら環境変数の正確な値については SET SQL コマンドを参照して下さい。