1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<!-- splitted from ./en/functions/pgsql.xml, last change in rev 1.82 -->
<refentry xml:id="function.pg-pconnect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_pconnect</refname>
<refpurpose>Open a persistent PostgreSQL connection</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>pg_pconnect</methodname>
<methodparam><type>string</type><parameter>connection_string</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>connect_type</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_pconnect</function> opens a connection to a
PostgreSQL database. It returns a connection resource that is
needed by other PostgreSQL functions.
</para>
<para>
If a second call is made to <function>pg_pconnect</function> with
the same <parameter>connection_string</parameter> as an existing connection, the
existing connection will be returned unless you pass
<constant>PGSQL_CONNECT_FORCE_NEW</constant> as
<parameter>connect_type</parameter>.
</para>
<para>
To enable persistent connection, the <link
linkend="ini.pgsql.allow-persistent">pgsql.allow_persistent</link>
&php.ini; directive must be set to "On" (which is the default).
The maximum number of persistent connection can be defined with the <link
linkend="ini.pgsql.max-persistent">pgsql.max_persistent</link>
&php.ini; directive (defaults to -1 for no limit). The total number
of connections can be set with the <link
linkend="ini.pgsql.max-links">pgsql.max_links</link>
&php.ini; directive.
</para>
<para>
<function>pg_close</function> will not close persistent links
generated by <function>pg_pconnect</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection_string</parameter></term>
<listitem>
<para>
The <parameter>connection_string</parameter> 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 <literal>keyword = value</literal>. Spaces around
the equal sign are optional. To write an empty value or a value
containing spaces, surround it with single quotes, e.g., <literal>keyword =
'a value'</literal>. Single quotes and backslashes within the value must be
escaped with a backslash, i.e., \' and \\.
</para>
<para>
The currently recognized parameter keywords are:
<parameter>host</parameter>, <parameter>hostaddr</parameter>, <parameter>port</parameter>,
<parameter>dbname</parameter>, <parameter>user</parameter>,
<parameter>password</parameter>, <parameter>connect_timeout</parameter>,
<parameter>options</parameter>, <parameter>tty</parameter> (ignored), <parameter>sslmode</parameter>,
<parameter>requiressl</parameter> (deprecated in favor of <parameter>sslmode</parameter>), and
<parameter>service</parameter>. Which of these arguments exist depends
on your PostgreSQL version.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>connect_type</parameter></term>
<listitem>
<para>
If <constant>PGSQL_CONNECT_FORCE_NEW</constant> is passed, then a new connection
is created, even if the <parameter>connection_string</parameter> is identical to
an existing connection.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
PostgreSQL connection resource on success, &false; on failure.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Using <function>pg_pconnect</function></title>
<programlisting role="php">
<![CDATA[
<?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
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_connect</function></member>
<member>
<link linkend="features.persistent-connections">
Persistent Database Connections</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|