Signatur
Beschreibung
pg_options() liefert einen String mit den Verbindungsoptionen, die beim Verbindungsaufbau über pg_connect() oder pg_pconnect() übergeben wurden. Diese Optionen entsprechen dem options-Parameter des libpq-Verbindungsstrings und können z. B. Server-seitige Konfigurationsparameter enthalten.
Die Funktion ist nützlich, um zu überprüfen, welche Verbindungsparameter tatsächlich für eine bestehende Verbindung verwendet werden, zum Beispiel in Debug-Szenarien oder beim Logging von Verbindungsdetails in mehrschichtigen Anwendungen mit unterschiedlichen Datenbankverbindungen.
Wird kein $connection-Parameter übergeben, verwendet die Funktion die zuletzt geöffnete Verbindung. Falls keine Verbindung vorhanden ist, gibt die Funktion false zurück. In modernen PHP-Versionen (ab PHP 8.1) ist das Übergeben von null als Verbindung deprecated.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $connection | PgSql\Connection | Eine PostgreSQL-Verbindungsinstanz (PgSql\Connection), zurückgegeben von pg_connect() oder pg_pconnect(). Wird der Parameter weggelassen, wird die zuletzt geöffnete Verbindung verwendet. |
Rückgabewert
false zurückgegeben.Beispiele
Verbindungsoptionen einer aktiven PostgreSQL-Verbindung ausgeben
<?php
$conn = pg_connect("host=localhost dbname=testdb user=postgres password=secret options='--client_encoding=UTF8'");
if (!$conn) {
die('Verbindung fehlgeschlagen');
}
$options = pg_options($conn);
echo 'Verbindungsoptionen: ' . $options;
pg_close($conn);
Verbindungsdetails debuggen und vergleichen
<?php
$conn1 = pg_connect("host=localhost dbname=db1 user=user1 options='--application_name=MyApp'");
$conn2 = pg_connect("host=localhost dbname=db2 user=user2");
echo 'Optionen Verbindung 1: ' . pg_options($conn1) . PHP_EOL;
echo 'Optionen Verbindung 2: ' . pg_options($conn2) . PHP_EOL;
pg_close($conn1);
pg_close($conn2);
// Wichtig · Fallstricke
In PHP 8.1 wurde der Typ des Verbindungsparameters von resource zu PgSql\Connection geändert. Das Übergeben eines resource-Wertes ist seitdem deprecated.
Die zurückgegebenen Optionen spiegeln nur die im Verbindungsstring angegebenen options-Werte wider und nicht alle verwendeten Verbindungsparameter wie Host, Port oder Datenbank — für diese gibt es separate Funktionen wie pg_host(), pg_port() und pg_dbname().