# pg_parameter_status

(PHP 5, PHP 7, PHP 8)

pg_parameter_status — Liefert den aktuellen Wert eines Parameters des Servers

### Beschreibung

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

Ermittelt die aktuelle Einstellung eines Parameters des Servers.

Bestimmte Servereinstellungen (Parameter) werden beim Verbindungsaufbau oder, wenn sich ihr Wert ändert, automatich vom Server gemeldet. Mit pg_parameter_status() können Sie diese Einstellungen abfragen. Zurückgegeben wird der aktuelle Wert des Parameters, falls dieser bekannt ist, anderenfalls `false`.

In PostgreSQL 8.0 werden die Werte für folgende Parameter zurückgegeben: `server_version`, `server_encoding`, `client_encoding`, `is_superuser`, `session_authorization`, `DateStyle`, `TimeZone` und `integer_datetimes`. (`server_encoding`, `TimeZone` und `integer_datetimes` werden von PostgreSQL vor 8.0 nicht zurückgegeben.) Beachten Sie, dass `server_version`, `server_encoding` und `integer_datetimes` nach dem Start von PostgreSQL nicht mehr verändert werden können.

PostgreSQL 7.3 oder darunter geben gar keine Servereinstellungen zurück. pg_parameter_status() kann trotzdem benutzt werden, um die Werte von `server_version` und `client_encoding` zu ermitteln. Es wird empfohlen, in Anwendungen pg_parameter_status() zu verwenden, anstatt speziellen Code zu schreiben, um diese Werte zu erhalten.

Achtung

In PostgreSQL-Versionen vor 7.4 wird ein nachträgliches (nach dem Start des Servers) Ändern von `client_encoding` mit dem Kommando `SET` von pg_parameter_status() ignoriert.

### Parameter-Liste

`connection`

  Eine PgSql\Connection-Instanz. Falls `connection` nicht angegeben wurde, wird die Standardverbindung benutzt. Das ist die zuletzt mit pg_connect() oder pg_pconnect() aufgebaute Verbindung.

  Warnung

  Seit PHP 8.1.0 ist die Verwendung der Standardverbindung veraltet.

`param_name`

  Mögliche Werte für `param_name` sind: `server_version`, `server_encoding`, `client_encoding`, `is_superuser`, `session_authorization`, `DateStyle`, `TimeZone` und `integer_datetimes`. Es ist zu beachten, dass bei diesem Wert zwischen Groß- und Kleinschreibung unterschieden wird.

### Rückgabewerte

Ein string, der den Wert des Parameters enthält, oder `false`, falls ein Fehler auftrat oder der Parameter `param_name` ungültig ist.

### Changelog

Version | Beschreibung
--- | ---
8.1.0 | Der Parameter `connection` erwartet nun eine PgSql\Connection-Instanz; vorher wurde eine Ressource erwartet.

### Beispiele

Beispiel #1 pg_parameter_status()-Beispiel

`<?php
$dbconn = pg_connect("dbname=publisher") or die("Verbindungsaufbau fehlgeschlagen");
echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Server encoding: SQL_ASCII

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