1. 接続パラメータ
表1に示す環境変数を用いて、呼出し元で値を設定しない場合に用いられるデフォルト値を接続パラメータに設定可能。
項目 | 概要 | 備考 |
---|---|---|
PGHOST | データベースサーバ名を指定する | デフォルトはTCP/IP。/開始時はUnix Domain Socket |
PGHOSTADDR | IPアドレスを指定する | |
PGPORT | サーバ通信用のデフォルトのTCPポート番号を指定する | Unix domai socketの場合はファイル拡張子を設定する |
PGDATABASE | データベース名を設定する | |
PGUSER | データベース接続ユーザ名を設定する | |
PGPASSWORD | 認証用パスワードを設定する | セキュリティ上から~/.pgpassの使用が推奨 |
PGPASSFILE | パスワードファイルの名前を指定する | デフォルトは ~/.pgpass |
PGSERVICE | pg_service.conf内で検索されるサービス名を設定する | |
PGREALM | Kerberosのレルムがローカルと異なる際に使用するレルムを設定する | Kerberosの認証が使用されている場合のみ有効 |
PGOPTIONS | サーバ用の付加的な実行時オプションを設定する | |
PGSSLMODE | サーバとのSSL接続用の調整の有無及び重要度を設定する | disable:非SSL / allow:非SSL→失敗時SSL / prefer:SSL→失敗時非SSL / require:SSL |
PGREQUIRESSL | SSL接続が必須か否かを設定する | |
PGKRBSRVNAME | 認証にKerberos5使用時、Kerberosのサービス名を指定する | |
PGCONNECT_TIMEOUT | libpqがサーバへの接続確立を待つ時間を指定する(単位:秒) | 未設定 or 0を指定時、libpqは永久に待機する |
表1:接続パラメータの指定に使用できる環境変数一覧 |
対象となるのは下記の3つ。
・PQconnectdb
・PQsetdbLogin
・PQsetdb
2. セッション毎デフォルト動作
表1に示す環境変数を用いて、PostgreSQLセッション毎のデフォルト動作を指定することが可能。
項目 | 概要 | 備考 |
---|---|---|
PGDATESTYLE | デフォルトの日付/時刻表現形式を設定する | SET datestyle TO ...と等価 |
PGTZ | デフォルトの時間帯を設定する | SET client_encoding TO ...と等価 |
PGCLIENTENCODING | デフォルトのクライアントの文字セット符号化方式を指定する | SET client_encoding TO ...と等価 |
PGGEQO | 遺伝的問い合わせオブティマイザのデフォルトのモードを設定する | SET geqo TO ...と等価 |
表2:セッション毎デフォルト動作の指定に使用できる環境変数一覧 |
3. libpqの内部動作
表3に示す環境変数を用いて、libpqの内部動作を指定可能。
項目 | 概要 | 備考 |
---|---|---|
PGSYSCONFDIR | pg_service.confファイルがあるディレクトリを設定する | |
PGLOCALEDIR | 国際化メッセージ用のlocaleファイルがあるディレクトリを設定する | |
表3:libpqの内部動作の指定に使用できる環境変数一覧 |