pg_pconnect() opens a connection to a PostgreSQL database. It returns a connection resource 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
To enable persistent connection, the pgsql.allow_persistent
php.ini directive must be set to "On" (which is the default).
The maximum number of persistent connection can be defined with the pgsql.max_persistent
php.ini directive (defaults to -1 for no limit). The total number
of connections can be set with the pgsql.max_links
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.,
'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.
PGSQL_CONNECT_FORCE_NEW is passed, then a new connection
is created, even if the connection_string is identical to
an existing connection.
$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