PHP 8.4.1 Released!

pg_version

(PHP 5, PHP 7, PHP 8)

pg_version Returns an array with client, protocol and server version (when available)

Description

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

pg_version() returns an array with the client, protocol and server version. Protocol and server versions are only available if PHP was compiled with PostgreSQL 7.4 or later.

For more detailed server information, use pg_parameter_status().

Parameters

connection

An PgSql\Connection instance. When connection is null, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Warning

As of PHP 8.1.0, using the default connection is deprecated.

Return Values

Returns an array with client, protocol and server keys and values (if available).

Changelog

Version Description
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
8.0.0 connection is now nullable.

Examples

Example #1 pg_version() example

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

$v = pg_version($dbconn);

echo
$v['client'];
?>

The above example will output:

7.4

See Also

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