# pg_pconnect

(PHP 4, PHP 5, PHP 7)

pg_pconnect — 打开一个持久的 PostgreSQL 连接

### 说明

pg_pconnect ( string `$connection_string` [, int `$connect_type` ] ) : resource

pg_pconnect() 打开一个到 PostgreSQL 数据库的持久连接。返回其它 PostgreSQL 函数所需要的连接资源号。

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 `connect_type`.

要打开持久连接功能，php.ini 中的 pgsql.allow_persistent 参数必须为 "On"（也是默认值）。 最大持久连接数目由 php.ini 中的 pgsql.max_persistent 参数定义（默认为 -1 表示没有限制）。所有连接的数目可由 php.ini 中的 pgsql.max_links 参数设置。

pg_close() 不能关闭由 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.

`connect_type`

  If `PGSQL_CONNECT_FORCE_NEW` is passed, then a new connection is created, even if the `connection_string` is identical to an existing connection.

### 返回值

PostgreSQL connection resource on success, `FALSE` on failure.

### 范例

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
    ?>

### 参见

- pg_connect() - 打开一个 PostgreSQL 连接
- 持久数据库连接