PHP Conference Japan 2024

pg_version

(PHP 5, PHP 7, PHP 8)

pg_version 傳回包含用戶端、協定和伺服器版本(如果可用)的陣列

說明

pg_version(?PgSql\Connection $connection = null): 陣列

pg_version() 會傳回一個陣列,包含用戶端、協定和伺服器版本。協定和伺服器版本僅在 PHP 使用 PostgreSQL 7.4 或更高版本編譯時才可用。

如需更詳細的伺服器資訊,請使用 pg_parameter_status()

參數

connection(連線)

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

警告

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

返回值

傳回一個陣列,其中包含 client(用戶端)、protocol(協定)和 server(伺服器)鍵值(如果有的話)。

更新日誌

版本 說明
8.1.0 connection 參數現在需要一個 PgSql\Connection 實例;以前需要的是 資源
8.0.0 connection 現在可以為 null。

範例

範例 #1 pg_version() 範例

<?php
$dbconn
= pg_connect("host=localhost port=5432 dbname=mary")
or die(
"無法連線");

$v = pg_version($dbconn);

echo
$v['client'];
?>

以上範例將輸出

7.4

參見

新增註記

使用者貢獻的註記 2 則註記

live627
4 年前
這個函數的完整輸出對我來說是

array(13) {
["client"]=>
string(5) "9.6.9"
["protocol"]=>
int(3)
["server"]=>
string(4) "12.1"
["server_encoding"]=>
string(4) "UTF8"
["client_encoding"]=>
string(4) "UTF8"
["is_superuser"]=>
string(2) "on"
["session_authorization"]=>
string(8) "postgres"
["DateStyle"]=>
string(8) "ISO, MDY"
["IntervalStyle"]=>
string(8) "postgres"
["TimeZone"]=>
string(10) "US/Arizona"
["integer_datetimes"]=>
string(2) "on"
["standard_conforming_strings"]=>
string(2) "on"
["application_name"]=>
string(0) ""
}
mgchristensen
4 年前
我注意到 "protocol" 的陣列元素似乎沒有值,被回報為

["protocol"]=> int(3)

而例如 "server" 的陣列元素則被回報為(在我的特定情況下)

["server"]=> string(5) "10.12"

然而,呼叫 json_encode() 會得到

"protocol":3 和 "server":"10.12"
To Top