(PHP 4, PHP 5, PHP 7, PHP 8)
pg_pconnect — Open a persistent PostgreSQL connection
pg_pconnect() opens a connection to a PostgreSQL database. It returns an PgSql\Connection instance that is needed by other PostgreSQL functions.
If a second call is made to pg_pconnect() with the same connection_string
as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW
as flags
.
To enable persistent connection, the pgsql.allow_persistentphp.ini directive must be set to "On" (which is the default). The maximum number of persistent connection can be defined with the pgsql.max_persistentphp.ini directive (defaults to -1 for no limit). The total number of connections can be set with the pgsql.max_linksphp.ini directive.
pg_close() will not close persistent links generated by pg_pconnect().
connection_string
The connection_string
can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value
. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'
. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.
The currently recognized parameter keywords are: host
, hostaddr
, port
, dbname
, user
, password
, connect_timeout
, options
, tty
(ignored), sslmode
, requiressl
(deprecated in favor of sslmode
), and service
. Which of these arguments exist depends on your PostgreSQL version.
flags
If PGSQL_CONNECT_FORCE_NEW
is passed, then a new connection is created, even if the connection_string
is identical to an existing connection.
Returns an PgSql\Connection instance on success, or false
on failure.
Version | Description |
---|---|
8.1.0 | Returns an PgSql\Connection instance now; previously, a resource was returned. |
Example #1 Using pg_pconnect()
<?php
$dbconn = pg_pconnect("dbname=mary");
//connect to a database named "mary"
$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"
$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password
?>