pg_parameter_status

(PHP 5, PHP 7, PHP 8)

pg_parameter_statusLiefert 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

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