LoginSignup
1
1

More than 5 years have passed since last update.

Postgressにおけるデフォルト値と環境変数の使用

Last updated at Posted at 2016-10-21

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の内部動作の指定に使用できる環境変数一覧

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1