(PHP 4, PHP 5, PHP 7, PHP 8)
pg_pconnect — Öffnet eine persistente PostgreSQL-Verbindung
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.
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 Form keyword = 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 Beispiel
keyword = '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 von sslmode
) und
service
. 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 der
connection_string
identisch zu dem einer
existierenden Verbindung ist.
Bei Erfolg wird eine PgSql\Connection-Instanz zurückgegeben. Bei einem Fehler wird false
zurückgegeben.
Version | Beschreibung |
---|---|
8.1.0 | Gibt nun eine PgSql\Connection-Instanz zurück; vorher wurde eine Ressource zurückgegeben. |
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
?>