pg_parameter_status

(PHP 5, PHP 7, PHP 8)

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

Описание

pg_parameter_status(PgSql\Connection $connection = ?, string $param_name): string

Получает текущее значение заданного параметра сервера.

Значения некоторых параметров сервер сообщает автоматически при установлении подключения или при изменении данных значений. Функция 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(), нежели специально разрабатывать другие функции.

Предостережение

Если при использовании сервера PostgreSQL версий 7.4 и ниже изменить параметр client_encoding посредством команды сервера SET уже после установки соединения, функция pg_parameter_status() не сможет отразить этот факт.

Список параметров

connection

Экземпляр PgSql\Connection. Если параметр connection не указан, будет выбрано соединение по умолчанию. Соединение по умолчанию — это последнее соединение, которое установила функция pg_connect() или pg_pconnect().

Внимание

Начиная с версии PHP 8.1.0, использование соединения по умолчанию устарело.

param_name

Допустимые значения аргумента: server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone и integer_datetimes. Обратите внимание, что это значение чувствительно к регистру.

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

Значение запрашиваемого параметра в виде строки, либо false, если передан недопустимый параметр.

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

Версия Описание
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");
?>

Результат выполнения приведённого примера:

Кодировка сервера: SQL_ASCII

add a note add a note

User Contributed Notes 2 notes

up
0
Ondej Bouda
8 years ago
Although PostgreSQL generally recognizes configuration parameters in a case-insensitive fashion (e.g., "SHOW datestyle" shows the "DateStyle" value), the pg_parameter_status() function is case sensitive.
up
-2
Anonymous
5 years ago
pg_parameter_status() returns boolean FALSE for 'client', 'protocol' and 'server'.
Use pg_version() instead to get the software version numbers and the protocol.
To Top