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 — Liefert den aktuellen Wert eines Parameters des Servers
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.
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.
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.
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.
Ein string, der den Wert des Parameters enthält, oder false
,
falls ein Fehler auftrat oder der Parameter
param_name
ungültig ist.
Version | Beschreibung |
---|---|
8.1.0 |
Der Parameter connection erwartet nun eine PgSql\Connection-Instanz;
vorher wurde eine Ressource erwartet.
|
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
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.