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

# pg_parameter_status

(PHP 5, PHP 7, PHP 8)

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

### Описание

function pg_parameter_status(PgSql\Connection `$connection` = ?, string `$name`): string|false

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

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

`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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open