pg_pconnect() は PostgreSQL への接続を オープンします。この関数は、他の PostgreSQL関数 が必要とする 接続リソースを返します。
既存の接続と同じ connection_string を用いて pg_pconnect() が 2 回目にコールされた場合は、 既存の接続を返します。ただし、connect_type に PGSQL_CONNECT_FORCE_NEW を指定している場合は 除きます。
持続的接続を有効にするには、php.ini のディレクティブ pgsql.allow_persistent を "On" に設定する必要があります(デフォルトは On です)。 持続的接続の最大数は php.ini ディレクティブ pgsql.max_persistent で設定可能です(デフォルトは制限無しを意味する -1 です)。 接続全体の数は php.ini ディレクティブ pgsql.max_links で設定可能です。
pg_close() は、 pg_pconnect() によりオープンされた持続的接続は 閉じません。
すべてデフォルトのパラメータを使用する場合には connection_string を空にすることが可能です。 または 1 つ以上のパラメータを空白で区切って指定することも可能です。 個々のパラメータは keyword = value の形式で 設定します。等号の前後の空白はあってもなくてもかまいません。 空の値や空白を含む値を指定する場合は、その値をシングルクォートで 囲みます(例: keyword = 'a value')。値の中に シングルクォートやバックスラッシュが含まれる場合は、それらを バックスラッシュでエスケープする必要があります(例: \' および \\)。
現在利用できるパラメータは以下のとおりです。 host, hostaddr, port, dbname, user, password, connect_timeout, options, tty(無視されます), sslmode, requiressl(非推奨。代わりに sslmode を推奨します) および service 。これらのうち実際にどの パラメータが使えるかは、PostgreSQL のバージョンに依存します。
PGSQL_CONNECT_FORCE_NEW が渡された場合は、 たとえ connection_string が既存の接続と まったく同一であっても新しい接続をオープンします。