International PHP Conference Berlin 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. Функция выберет соединение по умолчанию, если для параметра connection указали значение null. Соединение по умолчанию — последнее соединение, которое установила функция pg_connect() или pg_pconnect().

Внимание

Начиная с PHP 8.1.0 выбор функцией соединения по умолчанию устарел.

Возвращаемые значения

Возвращает массив с ключами client, protocol и server и соответствующими значениями версий.

Список изменений

Версия Описание
8.1.0 Параметр connection теперь ожидает экземпляр класса PgSql\Connection; раньше параметр ожидал ресурс (resource).
8.0.0 connection теперь допускает значение null.

Примеры

Пример #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

Смотрите также

  • pg_parameter_status() - Просмотр текущих значений параметров сервера

Добавить

Примечания пользователей 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