1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-24 15:12:22 +01:00
Files
archived-doc-ja/reference/pgsql/functions/pg-pconnect.xml
2025-09-03 19:43:10 +09:00

187 lines
7.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- splitted from ./ja/functions/pgsql.xml, last change in rev 1.1 -->
<!-- EN-Revision: 3b2503bdcbbffc9bd1381078ee06c298d4f8a49a Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi -->
<refentry xml:id="function.pg-pconnect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_pconnect</refname>
<refpurpose>持続的な PostgreSQL 接続をオープンする</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>PgSql\Connection</type><type>false</type></type><methodname>pg_pconnect</methodname>
<methodparam><type>string</type><parameter>connection_string</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
<function>pg_pconnect</function> は PostgreSQL への接続を
オープンします。この関数は、他の PostgreSQL関数 が必要とする
<classname>PgSql\Connection</classname>
クラスのインスタンスを返します。
</para>
<para>
既存の接続と同じ <parameter>connection_string</parameter> を用いて
<function>pg_pconnect</function> が 2 回目にコールされた場合は、
既存の接続を返します。ただし、<parameter>flags</parameter>
<constant>PGSQL_CONNECT_FORCE_NEW</constant> を指定している場合は
除きます。
</para>
<para>
持続的接続を有効にするには、&php.ini; のディレクティブ <link
linkend="ini.pgsql.allow-persistent">pgsql.allow_persistent</link>
<literal>"On"</literal> に設定する必要があります(デフォルトは On です)。
持続的接続の最大数は &php.ini; ディレクティブ <link
linkend="ini.pgsql.max-persistent">pgsql.max_persistent</link>
で設定可能です(デフォルトは制限無しを意味する <literal>-1</literal> です)。
接続全体の数は &php.ini; ディレクティブ <link
linkend="ini.pgsql.max-links">pgsql.max_links</link> で設定可能です。
</para>
<para>
<function>pg_close</function> は、
<function>pg_pconnect</function> によりオープンされた持続的接続は
閉じません。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection_string</parameter></term>
<listitem>
<para>
すべてデフォルトのパラメータを使用する場合には
<parameter>connection_string</parameter> を空にすることが可能です。
または 1 つ以上のパラメータを空白で区切って指定することも可能です。
個々のパラメータは <literal>keyword = value</literal> の形式で
設定します。等号の前後の空白はあってもなくてもかまいません。
空の値や空白を含む値を指定する場合は、その値をシングルクォートで
囲みます(例: <literal>keyword = 'a value'</literal>)。値の中に
シングルクォートやバックスラッシュが含まれる場合は、それらを
バックスラッシュでエスケープする必要があります(例: <literal>\'</literal> および <literal>\\</literal>)。
</para>
<para>
現在利用できるパラメータは以下のとおりです。
<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>(無視されます), <parameter>sslmode</parameter>,
<parameter>requiressl</parameter>(非推奨。代わりに <parameter>sslmode</parameter> を推奨します)
および <parameter>service</parameter> 。これらのうち実際にどの
パラメータが使えるかは、PostgreSQL のバージョンに依存します。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
<constant>PGSQL_CONNECT_FORCE_NEW</constant> が渡された場合は、
たとえ <parameter>connection_string</parameter> が既存の接続と
まったく同一であっても新しい接続をオープンします。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
成功した場合に <classname>PgSql\Connection</classname>
クラスのインスタンスを返します。
&return.falseforfailure;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.1.0</entry>
<entry>
<classname>PgSql\Connection</classname>
クラスのインスタンスを返すようになりました。
これより前のバージョンでは、
&resource; を返していました。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>pg_pconnect</function> の使用法</title>
<programlisting role="php">
<![CDATA[
<?php
// "mary"という名前のデータベースに接続
$dbconn = pg_pconnect("dbname=mary");
// "localhost" のポート "5432" にて "mary" という名前のデータベースに接続
$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// ユーザー名とパスワードを指定してホスト"sheep"上の"mary"という名前のデータベースに接続
$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
// ユーザー名とパスワードを指定してホスト"sheep"上の"test"という名前のデータベースへ接続
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_connect</function></member>
<member>
<link linkend="features.persistent-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
-->