(PHP 5, PHP 7, PHP 8)
pg_parameter_status — 查詢伺服器的目前參數設定
查詢伺服器目前的參數設定。
某些參數值會在連線啟動時或其值發生變更時由伺服器自動回報。pg_parameter_status() 可用於查詢這些設定。如果已知,它會返回參數的目前值,如果參數未知,則返回 false
。
從 PostgreSQL 8.0 開始回報的參數包括 server_version
、server_encoding
、client_encoding
、is_superuser
、session_authorization
、DateStyle
、TimeZone
和 integer_datetimes
。(server_encoding
、TimeZone
和 integer_datetimes
在 8.0 之前的版本中不會回報。)請注意,server_version
、server_encoding
和 integer_datetimes
在 PostgreSQL 啟動後無法更改。
PostgreSQL 7.3 或更低版本的伺服器不會回報參數設定,pg_parameter_status() 包含用於取得 server_version
和 client_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_version
、server_encoding
、client_encoding
、is_superuser
、session_authorization
、DateStyle
、TimeZone
和 integer_datetimes
。請注意,此值區分大小寫。
版本 | 說明 |
---|---|
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