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_string
kann 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 = Wert
angegeben, 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_string
identisch 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
?>