2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

32.15. 環境變數 #

以下環境變數可用於選擇預設連線引數值,這些值將由 PQconnectdbPQsetdbLoginPQsetdb 使用,前提是呼叫程式碼未直接指定值。例如,這對於避免將資料庫連線資訊硬編碼到簡單的客戶端應用程式中非常有用。

  • PGHOST 的行為與 host 連線引數相同。

  • PGSSLNEGOTIATION 的行為與 sslnegotiation 連線引數相同。

  • PGHOSTADDR 的行為與 hostaddr 連線引數相同。可以設定此變數來代替或與 PGHOST 一起設定,以避免 DNS 查詢開銷。

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

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

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

  • PGPASSWORD 的行為與 password 連線引數相同。出於安全原因,不建議使用此環境變數,因為某些作業系統允許非 root 使用者透過 ps 檢視程序環境變數;請考慮使用密碼檔案(參見 第 32.16 節)。

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

  • PGREQUIREAUTH 的行為與 require_auth 連線引數相同。

  • PGCHANNELBINDING 的行為與 channel_binding 連線引數相同。

  • PGSERVICE 的行為與 service 連線引數相同。

  • PGSERVICEFILE 指定了每個使用者連線服務檔案的名稱(請參閱 第 32.17 節)。在 Microsoft Windows 上,預設值為 ~/.pg_service.conf%APPDATA%\postgresql\.pg_service.conf

  • PGOPTIONS 的行為與 options 連線引數相同。

  • PGAPPNAME 的行為與 application_name 連線引數相同。

  • PGSSLMODE 的行為與 sslmode 連線引數相同。

  • PGREQUIRESSL 的行為與 requiressl 連線引數相同。此環境變數已棄用,改用 PGSSLMODE 變數;同時設定這兩個變數將抑制此變數的效果。

  • PGSSLCOMPRESSION 的行為與 sslcompression 連線引數相同。

  • PGSSLCERT 的行為與 sslcert 連線引數相同。

  • PGSSLKEY 的行為與 sslkey 連線引數相同。

  • PGSSLCERTMODE 的行為與 sslcertmode 連線引數相同。

  • PGSSLROOTCERT 的行為與 sslrootcert 連線引數相同。

  • PGSSLCRL 的行為與 sslcrl 連線引數相同。

  • PGSSLCRLDIR 的行為與 sslcrldir 連線引數相同。

  • PGSSLSNI 的行為與 sslsni 連線引數相同。

  • PGREQUIREPEER 的行為與 requirepeer 連線引數相同。

  • PGSSLMINPROTOCOLVERSION 的行為與 ssl_min_protocol_version 連線引數相同。

  • PGSSLMAXPROTOCOLVERSION 的行為與 ssl_max_protocol_version 連線引數相同。

  • PGGSSENCMODE 的行為與 gssencmode 連線引數相同。

  • PGKRBSRVNAME 的行為與 krbsrvname 連線引數相同。

  • PGGSSLIB 的行為與 gsslib 連線引數相同。

  • PGGSSDELEGATION 的行為與 gssdelegation 連線引數相同。

  • PGCONNECT_TIMEOUT 的行為與 connect_timeout 連線引數相同。

  • PGCLIENTENCODING 的行為與 client_encoding 連線引數相同。

  • PGTARGETSESSIONATTRS 的行為與 target_session_attrs 連線引數相同。

  • PGLOADBALANCEHOSTS 的行為與 load_balance_hosts 連線引數相同。

  • PGMINPROTOCOLVERSION 的行為與 min_protocol_version 連線引數相同。

  • PGMAXPROTOCOLVERSION 的行為與 max_protocol_version 連線引數相同。

以下環境變數可用於指定每個 PostgreSQL 會話的預設行為。(另請參閱 ALTER ROLEALTER DATABASE 命令,瞭解如何按使用者或按資料庫設定預設行為。)

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

  • PGTZ 設定預設時區。(等同於 SET timezone TO ...。)

  • PGGEQO 設定遺傳查詢最佳化器的預設模式。(等同於 SET geqo TO ...。)

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

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

  • PGSYSCONFDIR 設定包含 pg_service.conf 檔案的目錄,未來版本中可能還包含其他系統範圍的配置檔案。

  • PGLOCALEDIR 設定包含訊息本地化 locale 檔案的目錄。

提交更正

如果您在文件中發現任何不正確之處、與您在使用特定功能時的體驗不符之處,或需要進一步說明之處,請使用 此表單 報告文件問題。