環境変数

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 第 27章libpq - C ライブラリ | 早送り | 次のページ

# 27.11. 環境変数

以下の環境変数を使用して、呼び出し側のプログラムで直接値を指定しなかった場合の接続パラメータのデフォルト値を選ぶことができます。 この値は、`PQconnectdb`、`PQsetdbLogin`および、`PQsetdb` で使用されます。 例えば、簡単なクライアントアプリケーションでは、データベース接続情報を直接プログラムに記述しない方が便利です。

- `PGHOST`はデータベースサーバ名を設定します。 スラッシュで始まる場合はTCP/IP通信ではなく、Unixドメインソケット通信を指定したものになります。 この時の値はソケットファイルが格納されるディレクトリ名です（デフォルトのインストール時の設定では`/tmp`です）。

- `PGHOSTADDR`は、データベースサーバの数字で表したIPアドレスを指定します。 `PGHOST`の代わりに設定して、または、`PGHOST`に追加して、DNS検索に要するオーバヘッドをなくすことができます。 この相互作用についての詳細は、パラメータについての文書、上述の`PQconnectdb`を参照してください。

  `PGHOST`も`PGHOSTADDR`も設定されていない場合のデフォルトの動作は、ローカルなUnixドメインソケットに接続することです。 ただし、Unixドメインソケットを持たないマシンでは、libpqは`localhost`への接続を試みます。

- `PGPORT`は、PostgreSQLサーバと通信するためのデフォルトのTCPポート番号、またはUnixドメインソケットファイルの拡張子を設定します。

- `PGDATABASE`は、PostgreSQLデータベース名を設定します。

- `PGUSER`は、データベースへの接続に使われるユーザ名を設定します。

- `PGPASSWORD`は、バックエンドがパスワード認証を要求した場合に使われるパスワードを設定します。 この環境変数は、セキュリティ上の理由から現在では推奨されていません。 代わりに`~/.pgpass`を使用することを検討してください。 (項27.12を参照してください。)

- `PGSERVICE`は`pg_service.conf`内で検索されるサービス名を設定します。 これは、全てのパラメータ設定を簡易化する方法を提供します。

- `PGREALM`は、PostgreSQLで使用するKerberosのレルムがローカルのものと異なる場合に、そのレルムを設定します。 `PGREALM`が設定されると、libpqアプリケーションは設定されたレルム用のサーバと認証を行い、また、別のチケットファイルを使って、ローカルのチケットファイルと競合しないようにします。 この環境変数は、サーバがKerberosによる認証を選択した場合にのみ使われます。

- `PGOPTIONS`は、PostgreSQLサーバ用の付加的な実行時オプションを設定します。

- `PGSSLMODE`は、サーバとのSSL接続用の調整を行うかどうか、および、その際の重要度を決定します。 ４つのモードがあります。 `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 ...`と等価です。)

- `PGTZ` はデフォルトの時間帯を設定します。 (`SET timezone TO ...`と等価です。)

- `PGCLIENTENCODING` は、デフォルトのクライアントの文字セット符号化方式を指定します。 (`SET client_encoding TO ...`と等価です。)

- `PGGEQO` は、遺伝的問い合わせオブティマイザのデフォルトのモードを設定します。 (`SET geqo TO ...`と等価です。)

これらの環境変数の正確な値については、SET SQLコマンドを参照してください。

以下の環境変数は、libpqの内部動作を決定します。 これらはコンパイル時のデフォルトを上書きします。

- `PGSYSCONFDIR`は、`pg_service.conf`ファイルがあるディレクトリを設定します。

- `PGLOCALEDIR`は、国際化メッセージ用の`locale`ファイルがあるディレクトリを設定します。

前のページ | ホーム | 次のページ
警告処理 | 上に戻る | パスワードファイル