PHP Conference Japan 2024

pg_parameter_status

(PHP 5, PHP 7, PHP 8)

pg_parameter_status查詢伺服器的目前參數設定

說明

pg_parameter_status(PgSql\Connection $connection = ?, string $param_name): string

查詢伺服器目前的參數設定。

某些參數值會在連線啟動時或其值發生變更時由伺服器自動回報。pg_parameter_status() 可用於查詢這些設定。如果已知,它會返回參數的目前值,如果參數未知,則返回 false

從 PostgreSQL 8.0 開始回報的參數包括 server_versionserver_encodingclient_encodingis_superusersession_authorizationDateStyleTimeZoneinteger_datetimes。(server_encodingTimeZoneinteger_datetimes 在 8.0 之前的版本中不會回報。)請注意,server_versionserver_encodinginteger_datetimes 在 PostgreSQL 啟動後無法更改。

PostgreSQL 7.3 或更低版本的伺服器不會回報參數設定,pg_parameter_status() 包含用於取得 server_versionclient_encoding 值的邏輯。建議應用程式使用 pg_parameter_status() 而不是使用臨時程式碼來判斷這些值。

注意

在 7.4 之前的 PostgreSQL 伺服器上,在連線啟動後透過 SET 更改 client_encoding 不會反映在 pg_parameter_status() 中。

參數

connection

一個 PgSql\Connection 實例。當未指定 connection 時,將使用預設連線。預設連線是 pg_connect()pg_pconnect() 建立的最後一個連線。

警告

自 PHP 8.1.0 起,不建議使用預設連線。

param_name

可能的 param_name 值包括 server_versionserver_encodingclient_encodingis_superusersession_authorizationDateStyleTimeZoneinteger_datetimes。請注意,此值區分大小寫。

回傳值

一個包含參數值的 string,如果失敗或 param_name 無效,則返回 false

更新日誌

版本 說明
8.1.0 connection 參數現在需要一個 PgSql\Connection 實例;以前需要一個 resource

範例

範例 #1 pg_parameter_status() 範例

<?php
$dbconn
= pg_connect("dbname=publisher") or die("無法連線");

echo
"伺服器編碼:", pg_parameter_status($dbconn, "server_encoding");
?>

以上範例會輸出

Server encoding: SQL_ASCII

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top