ConFoo 2025

pg_version

(PHP 5, PHP 7, PHP 8)

pg_version クライアント・プロトコル・サーバーのバージョンを配列で返す

説明

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

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 は、nullable になりました。

例1 pg_version() の例

<?php
$dbconn
= pg_connect("host=localhost port=5432 dbname=mary")
or die(
"Could not connect");

$v = pg_version($dbconn);

echo
$v['client'];
?>

上の例の出力は以下となります。

7.4

参考

add a note

User Contributed Notes 2 notes

up
0
live627
4 years ago
Complete output off this function for me is:

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) ""
}
up
-1
mgchristensen
4 years ago
I note that the array element for "protocol" seemingly has no value, being reported as:

["protocol"]=> int(3)

whereas the array element for e.g. "server" is reported as (in my particular case):

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

A call to json_encode() however gives:

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