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