pg_pconnect
(PHP 4, PHP 5, PHP 7, PHP 8)
pg_pconnect — Öffnet eine persistente PostgreSQL-Verbindung
Beschreibung
pg_pconnect() öffnet eine persistente Verbindung zu einer PostgreSQL-Datenbank. Zurückgegeben wird eine PgSql\Connection-Instanz, die von anderen PostgreSQL-Funktionen benötigt wird.
Falls pg_pconnect() ein zweites Mal mit demselben
connection_string einer bereits existierenden
Verbindung aufgerufen wird, wird die Verbindungskennung dieser
existierenden Verbindung zurückgegeben, es sei denn, die Konstante
PGSQL_CONNECT_FORCE_NEW wird als
flags übergeben.
Um persistente Verbindungen zu ermöglichen, muss die pgsql.allow_persistent-Direktive in php.ini auf den Wert "On" gesetzt sein (was der Standardeinstellung entspricht). Die maximale Anzahl geöffneter persistenter Verbindungen kann mit der Direktive pgsql.max_persistent in php.ini definiert werden (der Standardwert ist -1, der für unbegrenzt steht). Die Gesamtanzahl der Verbindungen kann mit der pgsql.max_links-Direktive in php.ini gesetzt werden.
pg_close() schließt keine persistenten Verbindungen, die mit pg_pconnect() erzeugt wurden.
Parameter-Liste
-
connection_string -
Der
connection_stringkann leer sein, um die Standardwerte für die Parameter zu benutzen. Er kann auch einen oder mehrere durch Whitespace-Zeichen getrennte Parameter enthalten. Jeder Parameter wird in der Formkeyword = Wertangegeben, Leerzeichen vor und nach dem Gleichheitszeichen sind optional. Um einen leeren Wert oder einen Wert, der Leerzeichen enthält, anzugeben, müssen Sie den Wert in einfache Anführungszeichen einschließen, zum Beispielkeyword = 'ein Wert'. Einfache Anführungszeichen und Backslashes innerhalb des Wertes müssen mit einem Backslash maskiert werden, beispielsweise \' und \\.Gegenwärtig werden die folgenden Schlüsselwörter als Parameter erkannt:
host,hostaddr,port,dbname,user,password,connect_timeout,options,tty(wird ignoriert),sslmode,requiressl(veraltet zugunsten vonsslmode) undservice. Welche dieser Parameter zur Verfügung stehen, hängt von Ihrer PostgreSQL-Version ab. -
flags -
Falls
PGSQL_CONNECT_FORCE_NEWübergeben wurde, wird eine neue Verbindung aufgebaut, auch wenn derconnection_stringidentisch zu dem einer existierenden Verbindung ist.
Rückgabewerte
Bei Erfolg wird eine PgSql\Connection-Instanz zurückgegeben. Bei einem Fehler wird false zurückgegeben.
Changelog
| Version | Beschreibung |
|---|---|
| 8.1.0 | Gibt nun eine PgSql\Connection-Instanz zurück; vorher wurde eine Ressource zurückgegeben. |
Beispiele
Beispiel #1 pg_pconnect() benutzen:
<?php
$dbconn = pg_pconnect("dbname=mary");
//Verbindungsaufbau zu einer Datenbank namens "mary"
$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// Verbindungsaufbau zu einer Datenbank namens "mary" auf "localhost" und port "5432"
$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
// Verbindungsaufbau zu einer Datenbank namens "mary" auf dem Host
// "sheep" mit Benutzername und Passwort
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
// Verbindungsaufbau zu einer Datenbank namens "test" auf dem Host
// "sheep" mit Benutzername und Passwort
?>

