33.14. 環境變數

版本:11

以下環境變數可用於選擇預設連線參數值,如果呼叫變數沒有直接指定值, PQconnectdb,PQsetdbLogin 和 PQsetdb 將使用這些值。例如,這些有助於避免將資料庫連線訊息硬寫到簡單的用戶端應用程序中。

  • PGHOST 的行為與 host 參數相同。

  • PGHOSTADDR 的行為與 hostaddr 連線參數相同。這可以代替 PGHOST 或者除了 PGHOST 之外設定,以避免 DNS 查詢的開銷。

  • PGPORT 的行為與 port 連線參數相同。

  • PGDATABASE 的行為與 dbname 連線參數相同。

  • PGUSER 的行為與 user 連線參數相同。

  • PGPASSWORD 的行為與 password 連線參數相同。但由於安全因素,不建議使用此環境變數,因為某些作業系統允許非 root 使用者透過 ps 查看程序環境變數;而是考慮使用密碼檔案(參閱第 33.15 節)。

  • PGPASSFILE 行為與 passfile 連線參數相同。

  • PGSERVICE behaves the same as the service connection parameter.

  • PGSERVICEFILE specifies the name of the per-user connection service file. If not set, it defaults to ~/.pg_service.conf (see Section 33.16).

  • PGOPTIONS behaves the same as the options connection parameter.

  • PGAPPNAME behaves the same as the application_name connection parameter.

  • PGSSLMODE behaves the same as the sslmode connection parameter.

  • PGREQUIRESSL behaves the same as the requiressl connection parameter. This environment variable is deprecated in favor of the PGSSLMODE variable; setting both variables suppresses the effect of this one.

  • PGSSLCOMPRESSION behaves the same as the sslcompression connection parameter.

  • PGSSLCERT behaves the same as the sslcert connection parameter.

  • PGSSLKEY behaves the same as the sslkey connection parameter.

  • PGSSLROOTCERT behaves the same as the sslrootcert connection parameter.

  • PGSSLCRL behaves the same as the sslcrl connection parameter.

  • PGREQUIREPEER behaves the same as the requirepeer connection parameter.

  • PGKRBSRVNAME behaves the same as the krbsrvname connection parameter.

  • PGGSSLIB behaves the same as the gsslib connection parameter.

  • PGCONNECT_TIMEOUT behaves the same as the connect_timeout connection parameter.

  • PGCLIENTENCODING behaves the same as the client_encoding connection parameter.

  • PGTARGETSESSIONATTRS behaves the same as the target_session_attrs connection parameter.

以下環境變數可用於指定每個 PostgreSQL 連線的預設行為。(有關基於每個使用者或每個資料庫設定預設行為的方法,另請參閱 ALTER ROLEALTER DATABASE 指令。)

  • PGDATESTYLE 設定日期/時間表示的預設樣式。 (相當於 SET datestyle TO ....)

  • PGTZ設定預設時區。 (相當於 SET timezone TO ....

  • PGGEQO 設定 genetic 查詢最佳化程序的預設模式。(相當於 SET geqo TO ....

有關這些環境變數的正確值的資訊,請參閱 SQL 指令 SET

以下環境變數決定了 libpq 的內部行為;它們會覆寫編譯時的預設值。

  • PGSYSCONFDIR 設定包含 pg_service.conf 檔案的目錄,在未來版本中可能用於設定其他系統範圍的組態檔案。

  • PGLOCALEDIR 設定包含用於訊息本地化的區域設定檔案的目錄。