<!-- $Header: /usr/prj/pg/cvsroot/doc/doc/src/sgml/pygresql.sgml,v 1.6 2001/09/13 02:50:35 junichi Exp $ -->

<chapter id="pygresql">
 <title>
<!--<application>PyGreSQL</application> - <application>Python</application> Interface-->
<application>PyGreSQL</application>――<application>Python</application>インターフェイス
</title>
<indexterm><primary>PyGreSQL</primary></indexterm>
<indexterm><primary>PostgreSQL</primary><secondary>PyGreSQL</secondary></indexterm>

 <note>
  <title><!--Author-->著者</title>
  <para>
   <!--Written by-->D'Arcy J.M. Cain（<email>darcy@druid.net</email>）.
   <!--Based heavily on code written by Pascal Andre
   <email>andre@chimay.via.ecp.fr</email>.  Copyright &copy; 1995,
   Pascal Andre.  Further modifications Copyright &copy; 1997-2000 by
   D'Arcy J.M. Cain.-->

   Pascal Andre <email>andre@chimay.via.ecp.fr</email>によって書かれたコードを元に記述されています。</para><para>Copyright &copy; 1995 Pascal Andre.</para><para>Further modifications Copyright &copy; 1997-2000 D'Arcy J.M. Cain.
  </para>
 </note>


<![IGNORE[
 <sect1 id="pygresql-install">
  <title><!--Installation-->インストール</title>

  <itemizedlist>
   <listitem>
    <para>
     <!--If you are on <acronym>NetBSD</acronym>, look in the packages
     directory under databases. If it isn't there yet, it should be
     there shortly.  You can also pick up the package files from
     <ulink url="ftp://ftp.druid.net/pub/distrib/pygresql.pkg.tgz"
     >ftp://ftp.druid.net/pub/distrib/pygresql.pkg.tgz</ulink>.  There
     is also a package in the <acronym>FreeBSD</acronym> ports
     collection but as I write this it is at version 2.1.  I will try
     to get that updated as well.-->

     <acronym>NetBSD</acronym>を使用している場合、データベースの下のパッケージディレクトリを参照してください。まだそこにない場合でも、まもなく作成されます。また、<ulink url="ftp://ftp.druid.net/pub/distrib/pygresql.pkg.tgz">ftp://ftp.druid.net/pub/distrib/pygresql.pkg.tgz</ulink>からパッケージファイルを取ってくることも可能です。また、<acronym>FreeBSD</acronym>ポート群にもパッケージがありますが、このドキュメントを書いている現在では、バージョンは2.1です。それをアップデートするように努力します。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--For Linux installation look at <filename>README.linux</filename>.
     If you're on an <acronym>x86</acronym> system that uses
     <acronym>RPMs</acronym>, then you can pick up an
     <acronym>RPM</acronym> at <ulink
     url="ftp://ftp.druid.net/pub/distrib/pygresql.i386.rpm"
     >ftp://ftp.druid.net/pub/distrib/pygresql.i386.rpm</ulink>.-->

      Linuxのインストールに関しては、<filename>README.linux</filename>を参照してください。<acronym>RPMs</acronym>を使用する<acronym>x86</acronym>システムを使用している場合には、<ulink url="ftp://ftp.druid.net/pub/distrib/pygresql.i386.rpm">ftp://ftp.druid.net/pub/distrib/pygresql.i386.rpm</ulink>で<acronym>RPM</acronym>を取得することができます。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--Note that if you are using the <acronym>DB-API</acronym> module
     you must also install <acronym>mxDateTime</acronym> from <ulink
     url="http://starship.python.net/~lemburg/mxDateTime.html"
     >http://starship.python.net/~lemburg/mxDateTime.html</ulink>.-->

     <acronym>DB-API</acronym>モジュールを使用している場合は<ulink url="http://starship.python.net/~lemburg/mxDateTime.html">http://starship.python.net/~lemburg/mxDateTime.html</ulink>から<acronym>mxDateTime</acronym>もインストールする必要があることに注意してください。
     
    </para>
   </listitem>

   <listitem>
    <para>
     <!--Also, check out <filename>setup.py</filename> for an alternate
     method of installing the package using Python's Distutils.-->
     また、PythonのDistutilsを使ってパッケージをインストールする別のメソッドは<filename>setup.py</filename>を参照してください。
    </para>
   </listitem>

  </itemizedlist>
    
  <para>
   <!--You have two options. You can compile
   <productname>PyGreSQL</productname> as a stand-alone module or you
   can build it into the <productname>Python</productname>
   interpreter.-->

   <productname>PyGreSQL</productname>を1つのモジュールとしてコンパイルする方法と、<productname>Python</productname>インタープリタにビルドする方法の2つの方法が可能です。
  </para>

  <sect2>
   <title><!--General-->概要</title>

   <itemizedlist>
    <listitem>
     <para>
      <!--You must first have installed <productname>Python</productname>
      and <productname>PostgreSQL</productname> on your system.  The
      header files and developer's libraries for both
      <productname>Python</productname> and
      <productname>PostgreSQL</productname> must be installed on your
      system before you can build <productname>PyGreSQL</productname>.
      If you built both <productname>Python</productname> and
      <productname>PostgreSQL</productname> from source, you should be
      fine.  If your system uses some package mechanism (such as
      <acronym>RPM</acronym> or <acronym>NetBSD</acronym> packages),
      then you probably need to install packages such as
      <acronym>Python-devel</acronym> in addition to the
      <productname>Python</productname> package.-->

      まず、システムに<productname>Python</productname>と<productname>PostgreSQL</productname>がインストールされている必要があります。<productname>PyGreSQL</productname>をビルドする前に<productname>Python</productname>と<productname>PostgreSQL</productname>のヘッダーファイルと開発者用のライブラリがシステムにインストールされている必要があります。<productname>Python</productname>と<productname>PostgreSQL</productname>をソースからビルドすれば結構です。使用するシステムが（<acronym>RPM</acronym>や<acronym>NetBSD</acronym>パッケージのような）パッケージメカニズムを使う場合には、<productname>Python</productname>パッケージとは別に<acronym>Python-devel</acronym>などをインストールする必要がある場合があります。
     </para>
    </listitem>

    <listitem>
     <para>
      <!--<productname>PyGreSQL</productname> is implemented as three
      parts, a C module labeled <acronym>_pg</acronym> and two
      <productname>Python</productname> wrappers called
      <filename>pg.py</filename> and <filename>pgdb.py</filename>.
      This changed between 2.1 and 2.2 and again in 3.0.  These
      changes should not affect any existing programs but the
      installation is slightly different.-->

      <productname>PyGreSQL</productname>は、<acronym>_pg</acronym>とラベルされているCもモジュールと、<filename>pg.py</filename>と<filename>pgdb.py</filename>と呼ばれる<productname>Python</productname>ラッパーの3つの部分で実装されています。これは2.1と2.2の間で変更され、3.0で再度変更されています。これらの変更は既存のプログラムに影響を与えることはありませんが、インストール方法は若干異なります。
     </para>
    </listitem>

    <listitem>
     <para>
      <!--Download and unpack the <productname>PyGreSQL</productname>
      tarball if you haven't already done so.-->

      まだ<productname>PyGreSQL</productname>をダウンロードして解凍されていない場合は、行ってください。
     </para>
    </listitem>
   </itemizedlist>
  </sect2>

  <sect2>
   <title><!--Stand-alone-->単独インストール</title>

   <itemizedlist>
    <listitem>
     <para>
      <!--In the directory containing <filename>pgmodule.c</filename>, run
      the following command-->

      <filename>pgmodule.c</filename>があるディレクトリで下記のコマンドを実行してください。
   </para>

<programlisting>
cc -fpic -shared -o _pg.so -I[pyInc] -I[pgInc] -L[pgLib] -lpq pgmodule.c
</programlisting>

      <!--where:-->
      <itemizedlist>
       <listitem>
        <para>
         <!--[pyInc] = path of the <productname>Python</productname>
         include (usually <filename>Python.h</filename>)-->
         [pyInc]とは<productname>Python</productname>へのパス（通常<filename>Python.h</filename>）です。
        </para>
       </listitem>

       <listitem>
        <para>
         <!--[pgInc] = path of the <productname>PostgreSQL</productname>
         include (usually <filename>postgres.h</filename>)-->
         [pgInc]とは<productname>PostgreSQL</productname>へのパス（通常<filename>postgres.h</filename>）です。
        </para>
       </listitem>

       <listitem>
        <para>
         <!--[pgLib] = path of the <productname>PostgreSQL</productname>
         libraries (usually <filename>libpq.so</filename> or
         <filename>libpq.a</filename>)-->
         [pgLib]とは<productname>PostgreSQL</productname>ライブラリへのパス（通常<filename>libpq.so</filename>、または<filename>libpq.a</filename>）です。
        </para>
       </listitem>
      </itemizedlist>

   <para>
      <!--Some options may be added to this line:-->
      この行には、オプションを付けることができます。 
   </para>

      <itemizedlist>
       <listitem>
        <para>
         <!--<literal>-DNO_DEF_VAR</literal> - no default variables
         support-->
         <literal>-DNO_DEF_VAR</literal>――デフォルト変数のサポート無効
        </para>
       </listitem>

       <listitem>
        <para>
         <!--<literal>-DNO_DIRECT</literal>   - no direct access methods-->
           <literal>-DNO_DIRECT</literal>――直接アクセスメソッド無効
        </para>
       </listitem>

       <listitem>
        <para>
         <!--<literal>-DNO_LARGE</literal>    - no large object support-->
         <literal>-DNO_LARGE</literal>――ラージオブジェクトサポート無効
        </para>
       </listitem>

       <listitem>
        <para>
         <!--<literal>-DNO_SNPRINTF</literal> - if running a system with
         no snprintf call -->
         <literal>-DNO_SNPRINTF</literal>――snprintf無効のシステムの場合
        </para>
       </listitem>

       <listitem>
        <para>
         <literal>-DNO_PQSOCKET</literal>――古いPostgreSQLの場合<!-- - if running an older
         <productname>PostgreSQL</productname>-->
        </para>
       </listitem>
      </itemizedlist>

      On some systems you may need to include
      <literal>-lcrypt</literal> in the list of libraries to make it
      compile.

      Define <literal>DNO_PQSOCKET</literal> if you are using a
      version of <productname>PostgreSQL</productname> before 6.4 that
      does not have the <function>PQsocket</function> function.  The
      other options will be described in the next sections.
     </para>
    </listitem>
   <listitem>

   <para>
    Test the new module.  Something like the following should work.
<screen>
<prompt>$</prompt> <userinput>python</userinput>

<prompt>&gt;&gt;&gt;</prompt> <userinput>import _pg</userinput>
<prompt>&gt;&gt;&gt;</prompt> <userinput>db = _pg.connect('thilo', 'localhost')</userinput>
<prompt>&gt;&gt;&gt;</prompt> <userinput>db.query("INSERT INTO test VALUES ('ping', 'pong');")</userinput>
18304
<prompt>&gt;&gt;&gt;</prompt> <userinput>db.query("SELECT * FROM test;")</userinput>
 eins | zwei
------+------
 ping | pong
(1 row)
</screen>
          </para>
        </listitem>
        <listitem>
          <para>
            Finally, move the <filename>_pg.so</filename>,
            <filename>pg.py</filename>, and <filename>pgdb.py</filename>
            to a directory in your <literal>PYTHONPATH</literal>.
            A good place would be
            <filename>/usr/lib/python1.5/site-python</filename>
            if your <productname>Python</productname> modules are in
            <filename>/usr/lib/python1.5</filename>.
          </para>
        </listitem>
      </itemizedlist>
    </sect2>


    <sect2>
      <title>Built-in to python interpreter</title>

      <itemizedlist>
        <listitem>
          <para>
            Find the directory where your '<filename>Setup</filename>'
            file lives (usually <filename>??/Modules</filename>) in 
            the <productname>Python</productname> source hierarchy and
            copy or symlink the '<filename>pgmodule.c</filename>' file there.
          </para>
        </listitem>
        <listitem>
          <para>
            Add the following line to your Setup file
<programlisting>
_pg  pgmodule.c -I[pgInc] -L[pgLib] -lpq # -lcrypt # needed on some systems
</programlisting>
            where:
            <itemizedlist>
              <listitem>
                <para>
                  [pgInc] = path of the <productname>PostgreSQL</productname>
                  include (usually <filename>postgres.h</filename>)
                </para>
              </listitem>
              <listitem>
                <para>
                  [pgLib] = path of the <productname>PostgreSQL</productname>
                  libraries (usually <filename>libpq.so</filename>
                  or <filename>libpq.a</filename>)
                </para>
              </listitem>
            </itemizedlist>
            Some options may be added to this line:
            <itemizedlist>
              <listitem>
                <para>
                  <literal>-DNO_DEF_VAR</literal>  - no default variables
                  support
                </para>
              </listitem>
              <listitem>
                <para>
                  <literal>-DNO_DIRECT</literal>   - no direct access methods
                </para>
              </listitem>
              <listitem>
                <para>
                  <literal>-DNO_LARGE</literal>    - no large object support
                </para>
              </listitem>
              <listitem>
                <para>
                  <literal>-DNO_SNPRINTF</literal> - if running a system with
                  no snprintf call
                </para>
              </listitem>
              <listitem>
                <para>
                  <literal>-DNO_PQSOCKET</literal> - if running an older
                  <productname>PostgreSQL</productname>
                </para>
              </listitem>
            </itemizedlist>

            Define <literal>DNO_PQSOCKET</literal> if you are using a version of
            <productname>PostgreSQL</productname> before 6.4
            that does not have the <function>PQsocket</function> function.
            The other options will be described in the next sections.
          </para>
        </listitem>
        <listitem>
          <para>
            If you want a shared module, make sure that the 
            "<literal>*shared*</literal>" keyword is uncommented and
            add the above line below it. You used to need to install
            your shared modules with "make sharedinstall" but this no
            longer seems to be true.
          </para>
        </listitem>
        <listitem>
          <para>
            Copy <filename>pg.py</filename> to the lib directory where
            the rest of your modules are. For example, that's
            <filename>/usr/local/lib/Python</filename> on my system.
          </para>
        </listitem>
        <listitem>
          <para>
            Rebuild <productname>Python</productname> from the root
            directory of the <productname>Python</productname> source
            hierarchy by running
<programlisting>
make -f Makefile.pre.in boot
make &amp;&amp; make install
</programlisting>
          </para>
        </listitem>
        <listitem>
          <para>
            For more details read the documentation at the top of
            <filename>Makefile.pre.in</filename>
          </para>
        </listitem>
      </itemizedlist>
    </sect2>

  </sect1>

]]>

 <sect1 id="pygresql-pg">
  <title><!--The --><literal>pg</literal><!-- Module-->モジュール</title>
<indexterm><primary>PyGreSQL</primary><secondary sortas="もじゅーる">モジュール</secondary></indexterm>
  <para>
   <!--You may either choose to use the old mature interface provided by
   the <literal>pg</literal> module or otherwise the newer
   <literal>pgdb</literal> interface compliant with the <ulink
   url="http://www.python.org/topics/database/DatabaseAPI-2.0.html"
   ><acronym>DB-API 2.0</acronym></ulink> specification developed by
   the <productname>Python</productname> <acronym>DB-SIG</acronym>.-->

   <literal>pg</literal>モジュールで提供されている古いインターフェイス、または<productname>Python</productname> <acronym>DB-SIG</acronym>で開発された、<ulink url="http://www.python.org/topics/database/DatabaseAPI-2.0.html"><acronym>DB-API 2.0</acronym></ulink><![%book-publish;[（http://www.python.org/topics/database/DatabaseAPI-2.0.html）]]>と適合する比較的新しい、<literal>pgdb</literal>インターフェイスのどちらかを使用します。
  </para>

  <para>
   <!--Here we describe only the older <literal>pg</literal>
   <acronym>API</acronym>. As long as
   <productname>PyGreSQL</productname> does not contain a description
   of the <acronym>DB-API</acronym> you should read about the
   <acronym>API</acronym> at <ulink
   url="http://www.python.org/topics/database/DatabaseAPI-2.0.html">
   http://www.python.org/topics/database/DatabaseAPI-2.0.html</ulink>.-->

   ここでは、古い<literal>pg</literal> <acronym>API</acronym>のみを紹介します。<productname>PyGreSQL</productname>では<acronym>DB-API</acronym>に関する記述がありませんので、<acronym>API</acronym>に関することは<ulink url="http://www.python.org/topics/database/DatabaseAPI-2.0.html">http://www.python.org/topics/database/DatabaseAPI-2.0.html</ulink>を参照してください。
   
  </para>

  <para>
   <!--A tutorial-like introduction to the <acronym>DB-API</acronym> can
   be found at <ulink
   url="http://www2.linuxjournal.com/lj-issues/issue49/2605.html">
   http://www2.linuxjournal.com/lj-issues/issue49/2605.html</ulink>-->

   <acronym>DB-API</acronym>のチュートリアル的説明が、<ulink url="http://www2.linuxjournal.com/lj-issues/issue49/2605.html">http://www2.linuxjournal.com/lj-issues/issue49/2605.html</ulink>にあります。
  </para>

  <para>
   <!--The <literal>pg</literal> module defines three objects:-->

   <literal>pg</literal>モジュールでは、下記の3つのオブジェクトを定義しています。
   </para>

   <itemizedlist>
    <listitem>
     <para>
      <!--<classname>pgobject</classname>, which handles the connection and all the
      requests to the database,-->

      データベースへの接続やすべての要求を操作する<classname>pgobject</classname><indexterm><primary>PyGreSQL</primary><secondary>pgobject</secondary></indexterm>
     </para>
    </listitem>

    <listitem>
     <para>
      <!--<classname>pglargeobject</classname>, which handles all the accesses
      to <productname>Postgres</productname> large objects, and-->

      <productname>Postgres</productname>ラージオブジェクトへのアクセスを操作する<classname>pglargeobject</classname><indexterm><primary>PyGreSQL</primary><secondary>pglargeobject</secondary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary>PyGreSQL</secondary></indexterm>
     </para>
    </listitem>

    <listitem>
     <para>
      <!--<literal>pgqueryobject</literal> that handles query results.-->
      問い合わせ結果を操作する<literal>pgqueryobject</literal><indexterm><primary>PyGreSQL</primary><secondary>pgqueryobject</secondary></indexterm>
     </para>
    </listitem>
   </itemizedlist>

  <para>
   <!--If you want to see a simple example of the use of some of these
   functions, see <ulink url="http://www.druid.net/rides">
   http://www.druid.net/rides</ulink> where I have a link at the
   bottom to the actual <productname>Python</productname> code for the
   page.-->

   これらの関数の簡単な例は<ulink url="http://www.druid.net/rides">http://www.druid.net/rides</ulink>を参照してください。また、このWebサイトには実際の<productname>Python</productname>のコードへのリンクがあります。
  </para>

  <sect2>
   <title><!--Constants-->定数</title>
<indexterm><primary>PyGreSQL</primary><secondary sortas="ていすう">定数</secondary></indexterm>
   <para>
    <!--Some constants are defined in the <literal>pg</literal> module
    dictionary.  They are intended to be used as a parameters for
    methods calls.  You should refer to the <literal>libpq</literal>
    description (<xref linkend="libpq">) for more information about
    them. These constants are:-->

    いくつかの定数が<literal>pg</literal>モジュール辞書で定義されています。それらの定数は、メソッド呼び出しの引数として使用されることを意図しています。これらの詳細に関しては、<literal>libpq</literal>の説明（<xref linkend="libpq">）を参照してください。
   </para>

    <variablelist>
     <varlistentry>
      <term><varname>INV_READ</varname></term>
      <term><varname>INV_WRITE</varname></term>
      <listitem>
       <para>
        <!--large objects access modes, used by
        <function>(pgobject.)locreate</function> and
        <function>(pglarge.)open</function>.-->

        <function>(pgobject.)locreate</function>と<function>(pglarge.)open</function>で使用されるラージオブジェクト接続モード
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><varname>SEEK_SET</varname></term>
      <term><varname>SEEK_CUR</varname></term>
      <term><varname>SEEK_END</varname></term>
      <listitem>
       <para>
        <!--positional flags, used by <function>(pglarge.)seek</function>.-->
        <function>(pglarge.)seek</function>で使用される位置フラグ
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><varname>version</varname></term>
      <term><varname>__version__</varname></term>
      <listitem>
       <para>
        <!--constants that give the current version-->
        現在のバージョン情報を返す定数
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
  </sect2>
 </sect1>


 <sect1 id="pygresql-pg-functions">
  <title><literal>pg</literal><!--Module Functions-->モジュール関数</title>
<indexterm><primary>PyGreSQL</primary><secondary sortas="もじゅーるかんすう">モジュール関数</secondary></indexterm>
  <para>
   <!--<literal>pg</literal> module defines only a few methods that allow
   to connect to a database and to define <quote>default
   variables</quote> that override the environment variables used by
   <productname>PostgreSQL</productname>.-->

   <literal>pg</literal>モジュールでは、データベースに接続するためのメソッドと、<productname>PostgreSQL</productname>で使用されている環境変数を書き換えする<quote>デフォルト値</quote>を定義するための関数が定義されています。
  </para>

  <para>
   <!--These <quote>default variables</quote> were designed to allow you
   to handle general connection parameters without heavy code in your
   programs. You can prompt the user for a value, put it in the
   default variable, and forget it, without having to modify your
   environment. The support for default variables can be disabled by
   setting the <acronym>-DNO_DEF_VAR</acronym> option in the Python
   Setup file. Methods relative to this are specified by te tag [DV].-->

   これらの<quote>デフォルト値</quote>は、プログラム内に重たい処理を加えなくても、一般的な接続引数を処理できるようにされたものです。環境を変更せずに、ユーザーに対して値を促し、デフォルト値に格納し、以後気に留める必要をなくすことが可能です。デフォルト値のサポートを無効にするにはPythonセットアップファイルの<acronym>-DNO_DEF_VAR</acronym>オプションで設定できます。このドキュメントでは、これに関連したメソッドには[DV]マークを付けてあります。
  </para>

  <para>
   <!--All variables are set to <symbol>None</symbol> at module
   initialization, specifying that standard environment variables
   should be used.-->

   モジュールのインストール時には、標準の環境変数を使用するために、すべての変数は<symbol>None</symbol>が設定されています。
  </para>

  <refentry id="pygresql-connect">
   <refmeta>
    <refentrytitle>connect</refentrytitle>
    <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
   </refmeta>

   <refnamediv>
    <refname>connect</refname>
    <refpurpose><!--opens a connection to the database server-->
                データベースサーバーへの接続を開始します。<indexterm><primary>connect</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>connect</tertiary></indexterm><indexterm><primary sortas="さーばー">サーバー</primary><secondary sortas="せつぞく">接続</secondary></indexterm>
    </refpurpose>
   </refnamediv>

   <refsynopsisdiv>
<synopsis>
connect(<optional><replaceable>dbname</replaceable></optional>, <optional><replaceable>host</replaceable></optional>, <optional><replaceable>port</replaceable></optional>, <optional><replaceable>opt</replaceable></optional>, <optional><replaceable>tty</replaceable></optional>, <optional><replaceable>user</replaceable></optional>, <optional><replaceable>passwd</replaceable></optional>)
</synopsis>

    <refsect2 id="pygresql-connect-parameters">
     <title><!--Parameters-->引数</title>
          
     <variablelist>
      <varlistentry>
       <term><replaceable>dbname</replaceable></term>

       <listitem>
        <para><!--Name of connected database (string/None).-->
              接続するデータベース名（文字列/None）
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><replaceable>host</replaceable></term>

       <listitem>
        <para><!--Name of the server host (string/None).-->
              サーバーホスト名（文字列/None）
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><replaceable>port</replaceable></term>

       <listitem>
        <para><!--Port used by the database server (integer/-1).-->
              データベースサーバーによって使用されているポート番号（整数/-1）
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><replaceable>opt</replaceable></term>

       <listitem>
        <para>
         <!--Options for the server (string/None).-->
         サーバーのオプション（文字列/None）
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><replaceable>tty</replaceable></term>

       <listitem>
        <para>
         <!--File or tty for optional debug output from backend
         (string/None).-->
         バックエンドからのオプショナルなデバッグ出力用ファイル、またはtty（文字列/None）
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><replaceable>user</replaceable></term>

       <listitem>
        <para>
         <productname>PostgreSQL</productname><!-- user (string/None).-->ユーザー（文字列/None）
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><replaceable>passwd</replaceable></term>

       <listitem>
        <para><!--Password for user (string/None).-->
              ユーザーのパスワード（文字列/None）
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </refsect2>
        
    <refsect2 id="pygresql-connect-return">
     <title><!--Return Type-->返り値</title>

     <variablelist>
      <varlistentry>
       <term><replaceable>pgobject</replaceable></term>

       <listitem>
        <para>
         <!--If successful, an object handling a database connection is returned.-->
         成功した場合、データベース接続を管理しているオブジェクトが返る
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </refsect2>
        
    <refsect2 id="pygresql-connect-exceptions">
     <title><!--Exceptions-->例外</title>

     <variablelist>
      <varlistentry>
       <term><errorname>TypeError</errorname></term>

       <listitem>
        <para>
         <!--Bad argument type, or too many arguments.-->
         型が合わない、または引数が多すぎる
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><errorname>SyntaxError</errorname></term>

       <listitem>
        <para>
         <!--Duplicate argument definition.-->
         引数定義の複製
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term><errorname>pg.error</errorname></term>

       <listitem>
        <para>
         <!--Some error occurred during pg connection definition.-->
         データベース接続定義の際にエラー発生
        </para>
       </listitem>
      </varlistentry>
     </variablelist>

     <para>
      <!--(+ all exceptions relative to object allocation)-->
      すべての例外はオブジェクト配置に関連しています。
     </para>
    </refsect2>
   </refsynopsisdiv>
      
   <refsect1 id="pygresql-connect-description">
    <title><!--Description-->説明</title>

    <para>
     <!--This method opens a connection to a specified database on a given
     <productname>PostgreSQL</productname> server. You can use
     keywords here, as described in the
     <productname>Python</productname> tutorial.  The names of the
     keywords are the name of the parameters given in the syntax
     line. For a precise description of the parameters, please refer
     to the <productname>PostgreSQL</productname> user manual.-->

     このメソッドは、与えられた<productname>PostgreSQL</productname>サーバーの特定のデータベースとの接続を開始します。<productname>Python</productname>のチュートリアルで説明されているキーワードを使用することができます。キーワード名は、シンタックスの行で与えられた引数名となります。引数に関するより詳細な説明は<productname>PostgreSQL</productname>のユーザーマニュアルを参照してください。
    </para>
   </refsect1>
      
   <refsect1 id="pygresql-connect-examples">
    <title><!--Examples-->例</title>

<programlisting>
import pg

con1 = pg.connect('testdb', 'myhost', 5432, None, None, 'bob', None)
con2 = pg.connect(dbname='testdb', host='localhost', user='bob')
</programlisting>
   </refsect1>
      
  </refentry>


  <refentry id="pygresql-get-defhost">
   <refmeta>
    <refentrytitle>get_defhost</refentrytitle>
    <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
   </refmeta>

   <refnamediv>
    <refname>get_defhost</refname>
    <refpurpose><!--get default host name [DV]-->デフォルトホスト名を取得します。[DV]<indexterm><primary>get_defhost</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_defhost</tertiary></indexterm><indexterm><primary sortas="ほすとめい">ホスト名</primary><secondary sortas="しゅとく">取得</secondary></indexterm></refpurpose>
   </refnamediv>

   <refsynopsisdiv>
<synopsis>
get_defhost()
</synopsis>

    <refsect2 id="pygresql-get-defhost-parameters">
     <title><!--Parameters-->引数</title>

     <para>
      <!--none-->なし
     </para>
    </refsect2>

    <refsect2 id="pygresql-get-defhost-return">
     <title><!--Return Type-->返り値</title>

     <variablelist>
      <varlistentry>
       <term><!--string or None-->文字列、またはNone</term>

       <listitem>
        <para>
         <!--Default host specification-->デフォルトホストのスペック
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </refsect2>

    <refsect2 id="pygresql-get-defhost-exceptions">
     <title><!--Exceptions-->例外</title>

     <variablelist>
      <varlistentry>
       <term><errorname>SyntaxError</errorname></term>

       <listitem>
        <para>
         <!--Too many arguments.-->引数が多すぎる
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </refsect2>

   </refsynopsisdiv>

   <refsect1 id="pygresql-get-defhost-description">
    <title><!--Description-->説明</title>

    <para>
     <!--<function>get_defhost()</function> returns the current default
     host specification, or None if the environment variables should
     be used. Environment variables will not be looked up.-->

     <function>get_defhost()</function>は、現在のデフォルトホストのスペックを返し、環境変数が使用される際にはNoneを返します。環境変数は参照されません。
    </para>
   </refsect1>

  </refentry>


  <refentry id="pygresql-set-defhost">
    <refmeta>
      <refentrytitle>set_defhost</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>set_defhost</refname>
      <refpurpose><!--set default host name [DV]-->デフォルトホスト名を設定します。[DV]<indexterm><primary>set_defhost</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>set_defhost</tertiary></indexterm><indexterm><primary sortas="ほすとめい">ホスト名</primary><secondary sortas="せってい">設定</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
set_defhost(<replaceable>host</replaceable>)
</synopsis>

      <refsect2 id="pygresql-set-defhost-parameters">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>host</replaceable>
            </term>
            <listitem>
              <para><!--New default host (string/None).-->新しいデフォルトホスト（文字列/None）</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="pygresql-set-defhost-return">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string or None-->文字列、またはNone
            </term>
            <listitem>
              <para>
                <!--Previous default host specification.-->以前のデフォルトホストのスペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="pygresql-set-defhost-exceptions">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type, or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="pygresql-set-defhost-description">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>set_defhost()</function> sets the default host value
        for new connections. If None is supplied as parameter, environment
        variables will be used in future connections. It returns the 
        previous setting for default host.-->

        <function>set_defhost()</function>は、新たな接続のためにデフォルトホスト値を設定します。引数としてNoneが指定された場合には、それ以降は環境変数が使用され、以前のデフォルトホストの設定を返します。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="pygresql-get-defport">
    <refmeta>
      <refentrytitle>get_defport</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>get_defport</refname>
      <refpurpose><!--get default port [DV]-->デフォルトのポートを取得します。[DV]<indexterm><primary>get_defport</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_defport</tertiary></indexterm><indexterm><primary sortas="ぽーと">ポート</primary><secondary sortas="しゅとく">取得</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
get_defport()
</synopsis>

      <refsect2 id="R2-PYGRESQL-GET-DEFPORT-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFPORT-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--integer or None-->整数、またはNone
            </term>
            <listitem>
              <para>
                <!--Default port specification-->デフォルトのポートスペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFPORT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-GET-DEFPORT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>get_defport()</function> returns the current default
        port specification, or None if the environment variables should
        be used. Environment variables will not be looked up.-->
        <function>get_defport()</function>は、現在のデフォルトポートスペックを返し、環境変数が使用される際にはNoneを返します。環境変数は参照されません。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-SET-DEFPORT">
    <refmeta>
      <refentrytitle>set_defport</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>set_defport</refname>
      <refpurpose><!--set default port [DV]-->デフォルトポートを設定します。[DV]<indexterm><primary>set_defport</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>set_defport</tertiary></indexterm><indexterm><primary sortas="ぽーと">ポート</primary><secondary sortas="設定">設定</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
set_defport(<replaceable>port</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-SET-DEFPORT-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>port</replaceable>
            </term>
            <listitem>
              <para><!--New default host (integer/-1).-->新しいデフォルトホスト（整数/-1）</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFPORT-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--integer or None-->整数、またはNone
            </term>
            <listitem>
              <para>
                <!--Previous default port specification.-->以前のデフォルトポートのスペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFPORT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type, or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-SET-DEFPORT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>set_defport()</function> sets the default port value
        for new connections. If -1 is supplied as parameter, environment
        variables will be used in future connections. It returns the 
        previous setting for default port.-->

        <function>set_defport()</function>では、新しい接続のためにデフォルトのポートの値を設定します。もし-1が引数として指定された場合、それ以後の接続では環境変数が使用され、以前のデフォルトポート設定を返します。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-GET-DEFOPT">
    <refmeta>
      <refentrytitle>get_defopt</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>get_defopt</refname>
      <refpurpose><!--get default options specification [DV]-->
                  デフォルトオプションスペックを取得します。[DV]<indexterm><primary>get_defopt</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_defopt</tertiary></indexterm><indexterm><primary sortas="おぷしょんすぺっく">オプションスペック</primary><secondary sortas="しゅとく">取得</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
get_defopt()
</synopsis>

      <refsect2 id="R2-PYGRESQL-GET-DEFOPT-1">
        <title><!--Parameters-->引数</title>
        <para>
	  <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFOPT-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string or None-->文字列、またはNone
            </term>
            <listitem>
              <para>
                <!--Default options specification-->デフォルトオプションスペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFOPT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-GET-DEFOPT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>get_defopt()</function> returns the current default
        connection options specification, or None if the environment variables should
        be used. Environment variables will not be looked up.-->

        <function>get_defopt()</function>は、現在のデフォルト接続オプションのスペックを返し、環境変数が使用される際にはNoneを返します。環境変数は参照されません。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-SET-DEFOPT">
    <refmeta>
      <refentrytitle>set_defopt</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>set_defopt</refname>
      <refpurpose><!--set options specification [DV]-->オプションスペックを設定します。[DV]<indexterm><primary>set_defopt</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>set_defopt</tertiary></indexterm><indexterm><primary sortas="おぷしょんすぺっく">オプションスペック</primary><secondary sortas="せってい">設定</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
set_defopt(<replaceable>options</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-SET-DEFOPT-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>options</replaceable>
            </term>
            <listitem>
              <para><!--New default connection options (string/None).-->
                    新しいデフォルト接続オプション（文字列/None）</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFOPT-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string or None-->文字列、またはNone
            </term>
            <listitem>
              <para>
                以前のデフォルトオプションのスペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFOPT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type, or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-SET-DEFOPT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>set_defopt()</function> sets the default connection options value
        for new connections. If None is supplied as parameter, environment
        variables will be used in future connections. It returns the 
        previous setting for default options.-->

        <function>set_defopt()</function>は、新たな接続のためにデフォルト接続オプション値を設定します。引数としてNoneが指定された場合には、それ以降は環境変数が使用され、以前のデフォルトオプションの設定を返します。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-GET-DEFTTY">
    <refmeta>
      <refentrytitle>get_deftty</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>get_deftty</refname>
      <refpurpose><!--get default connection debug terminal specification [DV]-->
                  デフォルト接続のデバッグターミナルのスペックを取得します。[DV]<indexterm><primary>get_deftty</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_deftty</tertiary></indexterm><indexterm><primary sortas="でばっぐたーみなるのすぺっく">デバッグターミナルのスペック</primary><secondary sortas="しゅとく">取得</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
get_deftty()
</synopsis>

      <refsect2 id="R2-PYGRESQL-GET-DEFTTY-1">
        <title><!--Parameters-->引数</title>
        <para>
          none
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFTTY-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string or None-->文字列、またはNone
            </term>
            <listitem>
              <para>
                <!--Default debug terminal specification-->
                デフォルトデバッグターミナルのスペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFTTY-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-GET-DEFTTY-1">
      <title><!--Description--></title>
      <para>
        <!--<function>get_deftty()</function> returns the current default
        debug terminal specification, or None if the environment variables should
        be used. Environment variables will not be looked up.-->

        <function>get_deftty()</function>は、現在のデフォルトデバッグターミナルのスペックを返し、環境変数が使用される際にはNoneを返します。環境変数は参照されません。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-SET-DEFTTY">
    <refmeta>
      <refentrytitle>set_deftty</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>set_deftty</refname>
      <refpurpose><!--set default debug terminal specification [DV]-->
                  デフォルトデバッグターミナルスペックを設定します。[DV]<indexterm><primary>set_deftty</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>set_deftty</tertiary></indexterm><indexterm><primary sortas="でばっぐたーみなるのすぺっく">デバッグターミナルのスペック</primary><secondary sortas="せってい">設定</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
set_deftty(<replaceable>terminal</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-SET-DEFTTY-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>terminal</replaceable>
            </term>
            <listitem>
              <para><!--New default debug terminal (string/None).-->
                    新しいデフォルトデバッグターミナル（文字列/None）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFTTY-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              string or None
            </term>
            <listitem>
              <para>
                <!--Previous default debug terminal specification.-->
                以前のデフォルトデバッグターミナルスペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFTTY-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type, or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-SET-DEFTTY-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>set_deftty()</function> sets the default terminal value
        for new connections. If None is supplied as parameter, environment
        variables will be used in future connections. It returns the 
        previous setting for default terminal.-->

        <function>set_deftty()</function>は、新たな接続のためにデフォルトターミナル値を設定します。引数としてNoneが指定された場合には、それ以降、環境変数が使用され、以前のデフォルトターミナルの設定を返します。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-GET-DEFBASE">
    <refmeta>
      <refentrytitle>get_defbase</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>get_defbase</refname>
      <refpurpose><!--get default database name specification [DV]-->
                  デフォルトデータベース名のスペックを取得します。[DV]<indexterm><primary>get_defbase</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_defbase</tertiary></indexterm><indexterm><primary sortas="でーたべーす">データベース</primary><secondary sortas="なまえのすぺっくのしゅとく">名前のスペックの取得</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
get_defbase()
</synopsis>

      <refsect2 id="R2-PYGRESQL-GET-DEFBASE-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFBASE-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string or None-->文字列、またはNone
            </term>
            <listitem>
              <para>
                <!--Default debug database name specification-->
                デフォルトデバッグデータベース名スペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GET-DEFBASE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->
                引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-GET-DEFBASE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>get_defbase()</function> returns the current default
        database name specification, or None if the environment variables should        be used. Environment variables will not be looked up.-->

        <function>get_defbase()</function>は、現在のデフォルトデータベース名のスペックを返し、環境変数が使用される際にはNoneを返します。環境変数は参照されません。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-SET-DEFBASE">
    <refmeta>
      <refentrytitle>set_defbase</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Connection Management-->接続管理</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>set_defbase</refname>
      <refpurpose><!--set default database name specification [DV]-->
                  デフォルトデータベース名スペックを設定します。[DV]<indexterm><primary>set_defbase</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>set_defbase</tertiary></indexterm><indexterm><primary sortas="でーたべーす">データベース</primary><secondary sortas="なまえのすぺっくのせってい">名前のスペックの設定</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
set_defbase(<replaceable>database</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-SET-DEFBASE-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>database</replaceable>
            </term>
            <listitem>
              <para><!--New default database name (string/None).-->
                    新しいデフォルトデータベース名（文字列/None）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFBASE-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string or None-->文字列、またはNone
            </term>
            <listitem>
              <para>
                <!--Previous default database name specification.-->
                以前のデフォルトデータベース名スペック
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-SET-DEFBASE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type, or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-SET-DEFBASE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>set_defbase()</function> sets the default database name
        for new connections. If None is supplied as parameter, environment
        variables will be used in future connections. It returns the 
        previous setting for default database name.-->

        <function>set_defbase()</function>は、新たな接続のためにデフォルトデータベース名を設定します。引数としてNoneが指定された場合には、それ以降、環境変数が使用され、以前のデフォルトデータベース名を返します。
      </para>
    </refsect1>

  </refentry>

 </sect1>


 <sect1 id="pygresql-pg-pgobject">
  <title><!--Connection object-->接続オブジェクト――<classname>pgobject</classname></title>

  <para>
   <!--This object handles a connection to the
   <productname>PostgreSQL</productname> database.  It embeds and
   hides all the parameters that define this connection, leaving just
   really significant parameters in function calls.-->

   このオブジェクトは、<productname>PostgreSQL</productname>データベースとの接続を処理します。この接続を定義しているすべての引数を埋め込み、隠し、関数呼び出しの際には単に有効引数のみを残します。
  </para>

  <para>
   <!--Some methods give direct access to the connection socket. They are
   specified by the tag [DA].  <emphasis>Do not use them unless you
   really know what you are doing.</emphasis> If you prefer disabling
   them, set the <literal>-DNO_DIRECT</literal> option in the
   <productname>Python</productname> <filename>Setup</filename> file.-->

   いくつかのメソッドは、接続ソケットへ直接接続を行うものがあります。このドキュメントでは、これらに[DA]というマークを付けてあります。<emphasis>これらは、使用方法をしっかりと把握してから使用してください。</emphasis>これらを無効にするには<productname>Python</productname>の<filename>Setup</filename>ファイルで<literal>-DNO_DIRECT</literal>オプションを設定してください。
  </para>

  <para>
   <!--Some other methods give access to large objects.  if you want to
   forbid access to these from the module, set the
   <literal>-DNO_LARGE</literal> option in the
   <productname>Python</productname> <filename>Setup</filename> file.
   These methods are specified by the tag [LO].-->

   その他のメソッドとしては、ラージオブジェクトへの接続を行うものがあります。モジュールからそれらへの接続を行わない場合には<productname>Python</productname> <filename>Setup</filename>ファイルの<literal>-DNO_LARGE</literal>オプションを設定してください。これらのメソッドには[LO]というマークを付けてあります。
  </para>

  <para>
   <!--Every <literal>pgobject</literal> defines a set of read-only
   attributes that describe the connection and its status. These
   attributes are:-->

   すべての<literal>pgobject</literal>は接続の説明とその状態を表現する読み込み専用の属性群を定義しています。以下にその属性を示します。
   </para>

   <variablelist>
    <varlistentry>
     <term>host</term>
     <listitem>
      <para>
       <!--the host name of the server (string)-->
       サーバーのホスト名（文字列）
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>port</term>
     <listitem>
      <para>
       <!--the port of the server (integer)-->
       サーバーのポート（整数）
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>db</term>
     <listitem>
      <para>
       <!--the selected database (string)-->
       指定されたデータベース（文字列）
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>options</term>
     <listitem>
      <para>
       <!--the connection options (string)-->
       接続オプション（文字列）
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>tty</term>
     <listitem>
      <para>
       <!--the connection debug terminal (string)-->
       接続デバッグターミナル（文字列）
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>user</term>
     <listitem>
      <para>
       <!--user name on the database system (string)-->
       データベースシステムのユーザー名（文字列）
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>status</term>
     <listitem>
      <para>
       <!--the status of the connection (integer: 1 - OK, 0 - BAD)-->
       接続状態（整数、1：正常、0：異常）
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>error</term>
     <listitem>
      <para>
       <!--the last warning/error message from the server (string)-->
       サーバーからの最後に送られた警告/エラーメッセージ（文字列）
      </para>
     </listitem>
    </varlistentry>
   </variablelist>


  <refentry id="PYGRESQL-QUERY">
    <refmeta>
      <refentrytitle>query</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Query-->問い合わせ</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>query</refname>
      <refpurpose><!--executes a SQL command-->SQLコマンドを実行します。<indexterm><primary>query</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>query</tertiary></indexterm><indexterm><primary>SQL</primary><secondary sortas="じっこう">実行</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
query(<replaceable>command</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-QUERY-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>command</replaceable>
            </term>
            <listitem>
              <para><!--SQL command (string).-->SQLコマンド（文字列）</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-QUERY-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--pgqueryobject or None-->pgqueryobject、またはNone
            </term>
            <listitem>
              <para>
                <!--Result values.-->結果値
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-QUERY-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type, or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>ValueError</errorname>
            </term>
            <listitem>
              <para>
                <!--Empty SQL query.-->
                空のSQL問い合わせ文
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Error during query processing, or invalid connection.-->
                問い合わせ実行中のエラー、または無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-QUERY-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>query()</function> method sends a <acronym>SQL</acronym>
        query to the database. If the query is an insert statement, the return
        value is the <acronym>OID</acronym> of the newly inserted row.
        If it is otherwise a query that does not return a result
        (i.e., is not a some kind of <literal>SELECT</literal> statement), it returns None.
        Otherwise, it returns a <literal>pgqueryobject</literal> that can be accessed via the
        <function>getresult()</function> or <function>dictresult()</function>
        methods or simply printed.-->

        <function>query()</function>メソッドは、データベースに<acronym>SQL</acronym>問い合わせを送ります。問い合わせがinsert文の場合は、返り値は新しく作成された行の<acronym>OID</acronym>となります。また、結果を返さない問い合わせ（たとえば、<literal>SELECT</literal>文はそれらの部類には属しません）は、Noneを返します。その他の場合は、<function>getresult()</function>や<function>dictresult()</function>メソッドなどで接続可能な<literal>pgqueryobject</literal>を返す、または単に出力します。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-RESET">
    <refmeta>
      <refentrytitle>reset</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Reset-->リセット</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>reset</refname>
      <refpurpose><!--resets the connection-->データベース接続をリセットします。<indexterm><primary>reset</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>reset</tertiary></indexterm><indexterm><primary sortas="でーたべーす">データベース</primary><secondary sortas="せつぞくのりせっと">接続のリセット</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
reset()
</synopsis>

      <refsect2 id="R2-PYGRESQL-RESET-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-RESET-2">
        <title><!--Return Type-->返り値</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-RESET-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many (any) arguments.-->
                引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-RESET-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>reset()</function> method resets the current database.-->
        <function>reset()</function>メソッドは、現在のデータベースをリセットします。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-CLOSE">
    <refmeta>
      <refentrytitle>close</refentrytitle>
      <refmiscinfo>PYGRESQL――<!--Close-->切断</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>close</refname>
      <refpurpose><!--close the database connection-->データベース接続を切断します。<indexterm><primary>close</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>close</tertiary></indexterm><indexterm><primary sortas="でーたべーす">データベース</primary><secondary sortas="せつぞくのせつだん">接続の切断</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
close()
</synopsis>

      <refsect2 id="R2-PYGRESQL-CLOSE-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-CLOSE-2">
        <title><!--Return Type-->返り値</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-CLOSE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many (any) arguments.-->
                引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-CLOSE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>close()</function> method closes the database connection.
        The connection will be closed in any case when the connection is deleted but this
        allows you to explicitly close it.  It is mainly here to allow
        the DB-SIG API wrapper to implement a close function.-->

        <function>close()</function>メソッドは、データベース接続を切断します。接続が削除された場合、接続は切断されますが、この関数では接続を明示的に切断します。これは主にDB-SIG APIラッパーで切断関数を実装するためにあります。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-FILENO">
    <refmeta>
      <refentrytitle>fileno</refentrytitle>
      <refmiscinfo>PYGRESQL - Fileno</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>fileno</refname>
      <refpurpose><!--returns the socket used to connect to the database-->
                  データベースに接続するために使用されているソケットを返します。<indexterm><primary>fileno</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>fileno</tertiary></indexterm><indexterm><primary sortas="そけっと">ソケット</primary><secondary sortas="しゅとく">取得</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
fileno()
</synopsis>

      <refsect2 id="R2-PYGRESQL-FILENO-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-FILENO-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--socket id-->ソケットID
            </term>
            <listitem>
              <para>
                <!--The underlying socket id used to connect to the database.-->
                データベースへ接続する際に使用されているソケットID
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-FILENO-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many (any) arguments.-->
                引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-FILENO-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>fileno()</function> method returns the underlying socket id used to connect
        to the database. This is useful for use in <function>select</function> calls, etc.-->

        <function>fileno()</function>メソッドは、データベースへ接続する際に使用されているソケットIDを返します。これは<function>select</function>呼び出しの際などに便利です。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-GETNOTIFY">
    <refmeta>
      <refentrytitle>getnotify</refentrytitle>
      <refmiscinfo>PYGRESQL - Getnotify</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>getnotify</refname>
      <refpurpose><!--gets the last notify from the server-->サーバーからの最後のメッセージを取得します。<indexterm><primary>getnotify</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>getnotify</tertiary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
getnotify()
</synopsis>

      <refsect2 id="R2-PYGRESQL-GETNOTIFY-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GETNOTIFY-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--tuple, None-->
              タプル、またはNone
            </term>
            <listitem>
              <para>
                <!--Last notify from server-->
                サーバーからのメッセージ
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GETNOTIFY-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many (any) arguments.-->
                引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection.-->
                無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-GETNOTIFY-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>getnotify()</function> method tries to get a notify from
        the server (from the <literal>SQL</literal> statement <literal>NOTIFY</literal>).
        If the server returns no notify, the methods returns None. 
        Otherwise, it returns a tuple (couple) <literal>(relname, pid)</literal>,
        where <literal>relname</literal> is the name of the notify and <literal>pid</literal>
        the process id of the connection that triggered the notify.
        Remember to do a listen query first otherwise getnotify will always return None.-->

        <function>getnotify()</function>メソッドは、（<literal>SQL</literal>文の<literal>NOTIFY</literal>を使って）サーバーからのメッセージを取得しようとします。サーバーが何も返さない場合はNoneを返します。それ以外の場合では、タプル（複数。<literal>relnameとpid</literal>、<literal>relname</literal>はメッセージ名、<literal>pid</literal>はメッセージをトリガした接続のプロセスID）を返します。必ず最初に聞き出す問い合わせを先に行ってください。さもなければ毎回Noneを返すこととなります。
        
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-INSERTTABLE">
    <refmeta>
      <refentrytitle>inserttable</refentrytitle>
      <refmiscinfo>PYGRESQL - Inserttable</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>inserttable</refname>
      <refpurpose><!--inserts a list into a table-->テーブルにリストを挿入します。<indexterm><primary>inserttable</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>inserttable</tertiary></indexterm><indexterm><primary sortas="てーぶる">テーブル</primary><secondary sortas="でーたのそうにゅう">でーたの挿入</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
inserttable(<replaceable>table</replaceable>, <replaceable>values</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-INSERTTABLE-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>table</replaceable>
            </term>
            <listitem>
              <para><!--The table name (string).-->テーブル名（文字列）</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <replaceable>values</replaceable>
            </term>
            <listitem>
              <para><!--The list of rows values to insert (list).-->
                    挿入する行の値のリスト（リスト）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-INSERTTABLE-2">
        <title><!--Return Type-->返り値</title>
          <para>
            <!--none-->なし
          </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-INSERTTABLE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type or too many (any) arguments.-->
                型が合わない、または引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection.-->無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-INSERTTABLE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>inserttable()</function> method allows to quickly
        insert large blocks of data in a table: it inserts the whole
        values list into the given table. The list is a list of
        tuples/lists that define the values for each inserted row. The
        rows values may contain string, integer, long or double (real)
        values.  <emphasis>Be very careful:</emphasis> this method
        does not typecheck the fields according to the table
        definition; it just look whether or not it knows how to handle
        such types.-->

        <function>inserttable()</function>メソッドは、テーブルに大きなデータのブロックを早く挿入する際に使用します。これは、指定されたテーブルにすべての値を挿入します。リストとは、各挿入される行の値を定義するタプル/リストのリストです。行の値には文字列、整数、浮動小数などを入れることができます。ただし、<emphasis>注意してください。</emphasis>このメソッドでは、テーブルの型定義との型チェックを行いません。その型の処理方法の確認のみ行います。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PUTLINE">
    <refmeta>
      <refentrytitle>putline</refentrytitle>
      <refmiscinfo>PYGRESQL - Putline</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>putline</refname>
      <refpurpose><!--writes a line to the server socket [DA]-->
                  サーバーソケットに線を書きます。[DA]<indexterm><primary>putline</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>putline</tertiary></indexterm><indexterm><primary sortas="せん">線</primary><secondary sortas="かきこみ">書き込み</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
putline(<replaceable>line</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PUTLINE-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>line</replaceable>
            </term>
            <listitem>
              <para><!--Line to be written (string).-->
                    書く線（文字列）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PUTLINE-2">
        <title><!--Return Type-->返り値</title>
          <para>
            <!--none-->なし
          </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PUTLINE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type or too many (any) arguments.-->
                型が合わない、または引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection.-->無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PUTLINE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>putline()</function> method allows to directly write a string to the server socket.-->
        <function>putline()</function>メソッドは、サーバーソケットに直接文字列を書き込みます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-GETLINE">
    <refmeta>
      <refentrytitle>getline</refentrytitle>
      <refmiscinfo>PYGRESQL - Getline</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>getline</refname>
      <refpurpose><!--gets a line from server socket [DA]-->
                  サーバーソケットから線を取得します。[DA]<indexterm><primary>getline</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>getline</tertiary></indexterm><indexterm><primary sortas="せん">線</primary><secondary sortas="しゅとく">取得</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
getline()
</synopsis>

      <refsect2 id="R2-PYGRESQL-GETLINE-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GETLINE-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string-->文字列
            </term>
            <listitem>
              <para>
                <!--The line read.-->読み込まれた線
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GETLINE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type or too many (any) arguments.-->
                型が合わない、または引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection.-->無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-GETLINE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>getline()</function> method allows to directly read a string from the server socket.-->
        <function>getline()</function>メソッドは、サーバーソケットから直接文字列を読み込みます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-ENDCOPY">
    <refmeta>
      <refentrytitle>endcopy</refentrytitle>
      <refmiscinfo>PYGRESQL - Endcopy</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>endcopy</refname>
      <refpurpose><!--synchronizes client and server [DA]-->
                  クライアントとサーバーを同期化させます。[DA]<indexterm><primary>endcopy</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>endcopy</tertiary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
endcopy()
</synopsis>

      <refsect2 id="R2-PYGRESQL-ENDCOPY-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-ENDCOPY-2">
        <title><!--Return Type-->返り値</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-ENDCOPY-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type or too many (any) arguments.-->
                型が合わない、または引数が多すぎる/少なすぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection.-->無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-ENDCOPY-1">
      <title><!--Description-->説明</title>
      <para>
        <!--The use of direct access methods may desynchronize client and server. This
        method ensure that client and server will be synchronized.-->

        直接接続メソッドを使用する場合は、クライアントとサーバーとを非同期化させる可能性があります。このメソッドでは、クライアントとサーバーとを確実に同期化させます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-LOCREATE">
    <refmeta>
      <refentrytitle>locreate</refentrytitle>
      <refmiscinfo>PYGRESQL - Locreate</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>locreate</refname>
      <refpurpose><!--creates of large object in the database [LO]-->
                  データベース内にラージオブジェクトを作成します。[LO]<indexterm><primary>locreate</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>locreate</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="さくせい">作成</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
locreate(<replaceable>mode</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-LOCREATE-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>mode</replaceable>
            </term>
            <listitem>
              <para><!--Large object create mode.-->ラージオブジェクト作成モード</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-LOCREATE-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              pglarge
            </term>
            <listitem>
              <para>
                <!--Object handling the <productname>PostgreSQL</productname> large object.-->
                <productname>PostgreSQL</productname>のラージオブジェクトを操作するオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-LOCREATE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection, or creation error.-->
                無効な接続、または作成エラー
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-LOCREATE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>locreate()</function> method creates a large object in the database.
        The mode can be defined by OR-ing the constants defined in the pg module
        (<literal>INV_READ and INV_WRITE</literal>).-->

        <function>locreate()</function>メソッドは、データベースにラージオブジェクトを作成します。モードは、pgモジュールで定義されている定数（<literal>INV_READとINV_WRITE</literal>）をORすることによって定義することができます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-GETLO">
    <refmeta>
      <refentrytitle>getlo</refentrytitle>
      <refmiscinfo>PYGRESQL - Getlo</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>getlo</refname>
      <refpurpose><!--builds a large object from given <literal>oid</literal> [LO]-->
                  与えられた<literal>oid</literal>からラージオブジェクトをビルドします。[LO]<indexterm><primary>getlo</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>getlo</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="びるど">ビルド</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
getlo(<replaceable>oid</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-GETLO-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>oid</replaceable>
            </term>
            <listitem>
              <para><!--<literal>OID</literal> of the existing large object (integer).-->
                    既存のラージオブジェクトの<literal>OID</literal>（整数）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GETLO-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              pglarge
            </term>
            <listitem>
              <para>
                <!--Object handling the <productname>PostgreSQL</productname> large object.-->
                <productname>PostgreSQL</productname>のラージオブジェクトを操作するオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-GETLO-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection.-->無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-GETLO-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>getlo()</function> method allows to reuse a formerly
        created large object through the <classname>pglarge</classname> interface, providing
        the user have its <literal>oid</literal>.-->

        <function>getlo()</function>メソッドは、<classname>pglarge</classname>インターフェイスを用いて作成されたラージオブジェクトを、ユーザーがその<literal>oid</literal>を知っている場合に再利用するようにします。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-LOIMPORT">
    <refmeta>
      <refentrytitle>loimport</refentrytitle>
      <refmiscinfo>PYGRESQL - Loimport</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>loimport</refname>
      <refpurpose><!--imports a file to a <productname>PostgreSQL</productname> large object [LO]-->
                  ファイルから<productname>PostgreSQL</productname>ラージオブジェクトにインポートします。[LO]<indexterm><primary>loimport</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>loimport</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="いんぽーと">インポート</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
loimport(<replaceable>filename</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-LOIMPORT-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>filename</replaceable>
            </term>
            <listitem>
              <para><!--The name of the file to be imported (string).-->
                    インポートするファイル名（文字列）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-LOIMPORT-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              pglarge
            </term>
            <listitem>
              <para>
                <!--Object handling the <productname>PostgreSQL</productname> large object.-->
                <productname>PostgreSQL</productname>のラージオブジェクトを操作しているオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-LOIMPORT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid connection, or error during file import.-->
                無効な接続、またはファイルのインポート時のエラー 
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-LOIMPORT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>loimport()</function> method allows to create large objects
        in a very simple way. You just give the name of a file containing the
        data to be use.-->

        <function>loimport()</function>メソッドは、使用するデータを保持しているファイルを指定するだけで、とても簡単にラージオブジェクトを作成します。
      </para>
    </refsect1>

    </refentry>

 </sect1>


 <sect1 id="pygresql-pg-DB">
  <title><!--Database wrapper class-->データベースラッパークラス――<classname>DB</classname></title>

  <para>
   <!--<classname>pg</classname> module contains a class called
   <classname>DB</classname>.  All <classname>pgobject</classname>
   methods are included in this class also.  A number of additional
   <classname>DB</classname> class methods are described below.  The
   preferred way to use this module is as follows (See description of
   the initialization method below.):-->

   <classname>pg</classname>モジュールには<classname>DB</classname>というクラスが含まれています。また、すべての<classname>pgobject</classname>メソッドもこのクラスに含まれます。また、その他の追加<classname>DB</classname>クラスメソッドは下記に記述しています。これらのモジュールの推薦使用方法も下記に記述されています（以下の初期化メソッドを参照してください）。
   </para>

<programlisting>
import pg

db = pg.DB(...)

for r in db.query(
    "SELECT foo,bar
       FROM foo_bar_table
      WHERE foo !~ bar"
    ).dictresult():

    print '%(foo)s %(bar)s' % r
</programlisting>

  <para>
   <!--The following describes the methods and variables of this class.-->
   以下に、このクラスのメソッドと変数の説明を示します。
  </para>

  <para>
   <!--The <classname>DB</classname> class is initialized with the same
   arguments as the <function>pg.connect</function> method.  It also
   initializes a few internal variables.  The statement <literal>db =
   DB()</literal> will open the local database with the name of the
   user just like <function>pg.connect()</function> does.-->

   <classname>DB</classname>クラスは、<function>pg.connect</function>メソッドと同じ引数で初期化されます。また、いくつかの内部変数に対しても初期化を行います。<literal>db = DB()</literal>という文は、<function>pg.connect()</function>と同じようにユーザー名でローカルデータベースと接続します。
  </para>

    <refentry id="PYGRESQL-DB-PKEY">
      <refmeta>
        <refentrytitle>pkey</refentrytitle>
        <refmiscinfo>PYGRESQL - Pkey</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>pkey</refname>
        <refpurpose><!--returns the primary key of a table-->
                    テーブルの主キーを返します。<indexterm><primary>pkey</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>pkey</tertiary></indexterm><indexterm><primary sortas="てーぶる">テーブル</primary><secondary sortas="しゅきー">主キー</secondary></indexterm>
        </refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
pkey(<replaceable>table</replaceable>)
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-PKEY-1">
          <title><!--Parameters-->引数</title>
          <variablelist>
            <varlistentry>
              <term>
                <replaceable>table</replaceable>
              </term>
              <listitem>
                <para>
                  <!--name of table.-->テーブル名
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-PKEY-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                <!--string-->文字列
              </term>
              <listitem>
                <para>
                  <!--Name of field which is the primary key of the table.-->
                  テーブルの主キーのフィールド名
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-PKEY-1">
        <title><!--Description-->説明</title>
        <para>
          <!--<function>pkey()</function> method returns the primary key
          of a table.  Note that this raises an exception if the table
          does not have a primary key.-->

          <function>pkey()</function>メソッドはテーブルの主キーを返します。テーブルに主キーがない場合には例外処理が行われることに注意してください。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-GET-DATABASES">
      <refmeta>
        <refentrytitle>get_databases</refentrytitle>
        <refmiscinfo>PYGRESQL - Get_databases</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>get_databases</refname>
        <refpurpose><!--get list of databases in the system-->システムにあるデータベースのリストを取得します。<indexterm><primary>get_databases</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_databases</tertiary></indexterm></refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
get_databases()
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-GET-DATABASES-1">
          <title><!--Parameters-->引数</title>
          <para>
            <!--none-->なし
          </para>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-GET-DATABASES-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                <!--list-->リスト
              </term>
              <listitem>
                <para>
                  <!--List of databases in the system.-->システムにあるデータベースのリスト
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-GET-DATABASES-1">
        <title><!--Description-->説明</title>
        <para>
          <!--Although you can do this with a simple select,
          it is added here for convenience-->
          単純なselect文で実行できますが、便宜上実装されています。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-GET-TABLES">
      <refmeta>
        <refentrytitle>get_tables</refentrytitle>
        <refmiscinfo>PYGRESQL - get_tables</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>get_tables</refname>
        <refpurpose><!--get list of tables in connected database-->
                    接続しているデータベースのテーブルのリストを取得します。<indexterm><primary>get_tables</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_tables</tertiary></indexterm>
        </refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
get_tables()
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-GET-TABLES-1">
          <title><!--Parameters-->引数</title>
          <para>
            <!--none-->なし
          </para>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-GET-TABLES-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                <!--list-->リスト
              </term>
              <listitem>
                <para>
                  <!--List of tables in connected database.-->
                  接続しているデータベースのテーブルのリスト
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-GET-TABLES-1">
        <title><!--Description-->説明</title>
        <para>
          <!--Although you can do this with a simple select,
          it is added here for convenience-->
          単純なselect文で実行できますが、便宜上実装されています。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-GET-ATTNAMES">
      <refmeta>
        <refentrytitle>get_attnames</refentrytitle>
        <refmiscinfo>PYGRESQL - Get_Attnames</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>get_attnames</refname>
        <refpurpose><!--returns the attribute names of a table-->
                    テーブルの属性名を返します。<indexterm><primary>get_attnames</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get_attnames</tertiary></indexterm><indexterm><primary sortas="てーぶる">テーブル</primary><secondary sortas="ぞくせい">属性</secondary></indexterm>
        </refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
get_attnames(<replaceable>table</replaceable>)
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-GET-ATTNAMES-1">
          <title><!--Parameters-->引数</title>
          <variablelist>
            <varlistentry>
              <term>
                <replaceable>table</replaceable>
              </term>
              <listitem>
                <para>
                  <!--name of table.-->テーブル名
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-GET-ATTNAMES-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                <!--list-->リスト
              </term>
              <listitem>
                <para>
                  <!--List of attribute names.-->属性名のリスト
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-GET-ATTNAMES-1">
        <title><!--Description-->説明</title>
        <para>
          <!--Given the name of a table, digs out the list of attribute names.-->
          テーブル名を与えられると、そのテーブルの属性名のリストを取得します。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-GET">
      <refmeta>
        <refentrytitle>get</refentrytitle>
        <refmiscinfo>PYGRESQL - Get</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>get</refname>
        <refpurpose><!--get a tuple from a database table-->
                    データベーステーブルからタプルを取得します。<indexterm><primary>get</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>get</tertiary></indexterm><indexterm><primary sortas="たぷる">タプル</primary><secondary sortas="しゅとく">取得</secondary></indexterm>
        </refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
get(<replaceable>table</replaceable>, <replaceable>arg</replaceable>, <optional><replaceable>keyname</replaceable></optional>)
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-GET-1">
          <title><!--Parameters-->引数</title>
          <variablelist>
            <varlistentry>
              <term>
                <replaceable>table</replaceable>
              </term>
              <listitem>
                <para>
                  <!--Name of table.-->テーブル名
                </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>
                <replaceable>arg</replaceable>
              </term>
              <listitem>
                <para>
                  <!--Either a dictionary or the value to be looked up.-->
                  参照すべき辞書、または値
                </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>
                <optional><replaceable>keyname</replaceable></optional>
              </term>
              <listitem>
                <para>
                  <!--Name of field to use as key (optional).-->
                  キーとして使用すべきフィールド名（任意）
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-GET-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                <!--dictionary-->辞書
              </term>
              <listitem>
                <para>
                  <!--A dictionary mapping attribute names to row values.-->
                  属性名と行の値をマッピングする辞書
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-GET-1">
        <title><!--Description-->説明</title>
        <para>
          <!--This method is the basic mechanism to get a single row.  It assumes
          that the key specifies a unique row.  If keyname is not specified
          then the primary key for the table is used.  If arg is a dictionary
          then the value for the key is taken from it and it is modified to
          include the new values, replacing existing values where necessary.
          The oid is also put into the dictionary but in order to allow the
          caller to work with multiple tables, the attribute name is munged
          to make it unique.  It consists of the string <literal>oid_</literal> followed by
          the name of the table.-->

          このメソッドは、1つの行を取得する基本メカニズムです。与えられたキーを使うと一意な行を特定すると仮定されています。キー名が指定されていない場合は、テーブルの主キーが使用されます。引数が辞書の場合、キーの値が取得されたら必要に応じて現存の値を書き換えながら新しい値を挿入するために編集されます。また、辞書にはoidも挿入されていますが、複数のテーブルで作業が行えるようにするために、属性名は一意なものに変更されます。<literal>oid_</literal>の後にテーブル名が書かれた文字列で構成されています。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-INSERT">
      <refmeta>
        <refentrytitle>insert</refentrytitle>
        <refmiscinfo>PYGRESQL - Insert</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>insert</refname>
        <refpurpose><!--insert a tuple into a database table-->
                    データベーステーブルにタプルを挿入します。<indexterm><primary>insert</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>insert</tertiary></indexterm><indexterm><primary sortas="たぷる">タプル</primary><secondary sortas="そうにゅう">挿入</secondary></indexterm>
        </refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
insert(<replaceable>table</replaceable>, <replaceable>a</replaceable>)
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-INSERT-1">
          <title><!--Parameters-->引数</title>
          <variablelist>
            <varlistentry>
              <term>
                <replaceable>table</replaceable>
              </term>
              <listitem>
                <para>
                  <!--Name of table.-->テーブル名
                </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>
                <replaceable>a</replaceable>
              </term>
              <listitem>
                <para>
                  <!--A dictionary of values.-->
                  辞書の値
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-INSERT-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                integer
              </term>
              <listitem>
                <para>
                  <!--The OID of the newly inserted row.-->
                  新しく追加された行のOID
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-INSERT-1">
        <title><!--Description-->説明</title>
        <para>
          <!--This method inserts values into the table specified filling in the
          values from the dictionary.  It then reloads the dictionary with the
          values from the database.  This causes the dictionary to be updated
          with values that are modified by rules, triggers, etc.-->

          このメソッドは、指定されたテーブルに辞書からの値を入力します。その後データベースからの値を使って辞書を更新します。これは、ルールやトリガーなどによって更新された値で辞書を最新ものとします。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-UPDATE">
      <refmeta>
        <refentrytitle>update</refentrytitle>
        <refmiscinfo>PYGRESQL - Update</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>update</refname>
        <refpurpose><!--update a database table-->データベースのテーブルを更新します。<indexterm><primary>update</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>update</tertiary></indexterm><indexterm><primary sortas="てーぶる">テーブル</primary><secondary sortas="こうしん">更新</secondary></indexterm></refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
update(<replaceable>table</replaceable>, <replaceable>a</replaceable>)
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-UPDATE-1">
          <title>Parameters</title>
          <variablelist>
            <varlistentry>
              <term>
                <replaceable>table</replaceable>
              </term>
              <listitem>
                <para>
                  <!--Name of table.-->テーブル名
                </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>
                <replaceable>a</replaceable>
              </term>
              <listitem>
                <para>
                  <!--A dictionary of values.-->値の辞書
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-UPDATE-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                <!--integer-->整数
              </term>
              <listitem>
                <para>
                  <!--The OID of the newly updated row.-->
                  新しく更新された行のOID
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-UPDATE-1">
        <title><!--Description-->説明</title>
        <para>
          <!--Similar to insert but updates an existing row.  The update is based
          on the OID value as munged by get.  The array returned is the
          one sent modified to reflect any changes caused by the update due
          to triggers, rules, defaults, etc.-->

          insertと似ていますが、これは、現存する行を更新します。この動作はgetによって取得されたOIDの値をもとに行われます。返された配列はトリガ、ルール、デフォルトなどで更新された変更の反映を修正したものです。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-CLEAR">
      <refmeta>
        <refentrytitle>clear</refentrytitle>
        <refmiscinfo>PYGRESQL - Clear</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>clear</refname>
        <refpurpose><!--clear a database table-->データベースのテーブルを除去します。<indexterm><primary>clear</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>clear</tertiary></indexterm><indexterm><primary sortas="てーぶる">テーブル</primary><secondary sortas="消去">消去</secondary></indexterm></refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
clear(<replaceable>table</replaceable>, <optional><replaceable>a</replaceable></optional>)
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-CLEAR-1">
          <title><!--Parameters-->引数</title>
          <variablelist>
            <varlistentry>
              <term>
                <replaceable>table</replaceable>
              </term>
              <listitem>
                <para>
                  <!--Name of table.-->テーブル名
                </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>
                <optional><replaceable>a</replaceable></optional>
              </term>
              <listitem>
                <para>
                  <!--A dictionary of values.-->値の辞書
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-CLEAR-2">
          <title><!--Return Type-->返り値</title>
          <variablelist>
            <varlistentry>
              <term>
                <!--dictionary-->辞書
              </term>
              <listitem>
                <para>
                  <!--A dictionary with an empty row.-->空の行の辞書
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-CLEAR-1">
        <title><!--Description-->説明</title>
        <para>
          <!--This method clears all the attributes to values determined by the types.
          Numeric types are set to 0, dates are set to <literal>'today'</literal> and everything
          else is set to the empty string.  If the array argument is present,
          it is used as the array and any entries matching attribute names
          are cleared with everything else left unchanged.-->

          このメソッドは、すべての属性を型によって決定された値に除去します。Numericデータ型は0、日付データ型は<literal>'today'</literal>、その他のものは空の文字列に設定されています。配列の引数がある場合は配列として使用され、属性と一致するすべての入力値は変更され、その他のものはそのままとなります。
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-DB-DELETE">
      <refmeta>
        <refentrytitle>delete</refentrytitle>
        <refmiscinfo>PYGRESQL - Delete</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>delete</refname>
        <refpurpose><!--deletes the row from a table-->テーブルから行を削除します。<indexterm><primary>delete</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>delete</tertiary></indexterm><indexterm><primary sortas="てーぶる">テーブル</primary><secondary sortas="さくじょ">削除</secondary></indexterm></refpurpose>
      </refnamediv>

      <refsynopsisdiv>
<synopsis>
delete(<replaceable>table</replaceable>, <optional><replaceable>a</replaceable></optional>)
</synopsis>

        <refsect2 id="R2-PYGRESQL-DB-DELETE-1">
          <title><!--Parameters-->引数</title>
          <variablelist>
            <varlistentry>
              <term>
                <replaceable>table</replaceable>
              </term>
              <listitem>
                <para>
                  <!--Name of table.-->テーブル名
                </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>
                <optional><replaceable>a</replaceable></optional>
              </term>
              <listitem>
                <para>
                  <!--A dictionary of values.-->値の辞書
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-DB-DELETE-2">
          <title><!--Return Type-->返り値</title>
          <para>
            <!--none-->なし
          </para>
        </refsect2>

      </refsynopsisdiv>

      <refsect1 id="R1-PYGRESQL-DB-DELETE-1">
        <title><!--Description-->説明</title>
        <para>
          <!--This method deletes the row from a table.  It deletes based on the OID
          as munged as described above.-->

          このメソッドはテーブルから行を削除します。上で説明されているようにOIDに基づいて削除されます。 
        </para>
      </refsect1>

    </refentry>

    <!-- ********************************************************** -->

  </sect1>

  <!-- ********************************************************** -->
  <!-- ********************************************************** -->

  <sect1 id="pygresql-pg-pgqueryobject">
    <title><!--Query result object-->問い合わせ結果オブジェクト――<literal>pgqueryobject</literal></title>

    <!-- ********************************************************** -->

    <refentry id="PYGRESQL-PGQUERYOBJECT-GETRESULT">
      <refmeta>
        <refentrytitle>getresult</refentrytitle>
        <refmiscinfo>PYGRESQL - Getresult</refmiscinfo>
      </refmeta>
      <refnamediv>
        <refname>getresult</refname>
        <refpurpose><!--gets the values returned by the query-->
                    問い合わせで返された値を取得します。<indexterm><primary>getresult</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>getresult</tertiary></indexterm>
        </refpurpose>
      </refnamediv>
      
      <refsynopsisdiv>
<synopsis>
getresult()
</synopsis>
        
        <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-GETRESULT-1">
          <title><!--Parameters-->引数</title>
          <para>
            <!--none-->なし
          </para>
        </refsect2>

        <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-GETRESULT-2">
          <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--list-->リスト
            </term>
            <listitem>
              <para>
                <!--List of tuples.-->タプルのリスト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-GETRESULT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid previous result.-->前の結果が無効
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGQUERYOBJECT-GETRESULT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>getresult()</function> method returns the list of the values returned by the query.
        More information about this result may be accessed using <function>listfields</function>,
        <function>fieldname</function> and <function>fieldnum</function> methods.-->

        <function>getresult()</function>は問い合わせによって返された値のリストを返します。この結果のより詳細な情報は<function>listfields</function>、<function>fieldname</function>、<function>fieldnum</function>を使うことによって取得できます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGQUERYOBJECT-DICTRESULT">
    <refmeta>
      <refentrytitle>dictresult</refentrytitle>
      <refmiscinfo>PYGRESQL - Dictresult</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>dictresult</refname>
      <refpurpose><!--like getresult but returns a list of dictionaries-->
                  getresultに似ているが、辞書のリストを返します。<indexterm><primary>dictresult</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>dictresult</tertiary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
dictresult()
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-DICTRESULT-1">
        <title><!--Parameters-->引数</title>
          <para>
            <!--none-->なし
          </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-DICTRESULT-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--list-->リスト
            </term>
            <listitem>
              <para>
                <!--List of dictionaries.-->辞書のリスト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-DICTRESULT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid previous result.-->前の結果が無効
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGQUERYOBJECT-DICTRESULT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>dictresult()</function> method returns the list of the values returned by the query
        with each tuple returned as a dictionary with the field names
        used as the dictionary index.-->

        <function>dictresult()</function>は問い合わせによって返された値のリストを返します。その際、各タプルは、フィールド名を辞書インデックスとした辞書として返されます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGQUERYOBJECT-LISTFIELDS">
    <refmeta>
      <refentrytitle>listfields</refentrytitle>
      <refmiscinfo>PYGRESQL - Listfields</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>listfields</refname>
      <refpurpose><!--lists the fields names of the query result-->
                  問い合わせ結果のフィールド名の一覧を表示します。<indexterm><primary>listfields</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>listfields</tertiary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
listfields()
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-LISTFIELDS-1">
        <title><!--Parameters-->引数</title>
          <para>
            <!--none-->なし
          </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-LISTFIELDS-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--list-->リスト
            </term>
            <listitem>
              <para>
                <!--field names-->フィールド名
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-LISTFIELDS-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid query result, or invalid connection.-->
                無効な問い合わせ結果、または無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGQUERYOBJECT-LISTFIELDS-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>listfields()</function> method returns the list of field names defined for the
        query result. The fields are in the same order as the result values.-->

        <function>listfields()</function>は、問い合わせ結果で定義されているフィールド名のリストを返します。フィールドは結果の値と同じ順序です。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGQUERYOBJECT-FIELDNAME">
    <refmeta>
      <refentrytitle>fieldname</refentrytitle>
      <refmiscinfo>PYGRESQL - Fieldname</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>fieldname</refname>
      <refpurpose><!--field number-name conversion-->フィールドの番号/名前変換をします。<indexterm><primary>fieldname</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>fieldname</tertiary></indexterm><indexterm><primary sortas="ふぃーるど">フィールド</primary><secondary sortas="ばんごうなまえへんかん">番号/名前変換</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
fieldname(<replaceable>i</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-FIELDNAME-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>i</replaceable>
            </term>
            <listitem>
              <para>
                <!--field number (integer).-->フィールド番号（整数）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-FIELDNAME-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string-->文字列
            </term>
            <listitem>
              <para>
                <!--field name.-->フィールド名
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-FIELDNAME-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad parameter type, or too many arguments.-->
                引数の型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <replaceable>ValueError</replaceable>
            </term>
            <listitem>
              <para>
                <!--Invalid field number.-->無効なフィールド番号
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid query result, or invalid connection.-->
                無効な問い合わせ結果、または無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGQUERYOBJECT-FIELDNAME-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>fieldname()</function> method allows to find a field name from its rank number. It can be 
        useful for displaying a result. The fields are in the same order than the
        result values.-->
        <function>fieldname()</function>は、そのランクの番号からフィールド名を割り出します。結果を表示させるときに有益です。フィールドは結果の値と同じ順序です。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGQUERYOBJECT-FIELDNUM">
    <refmeta>
      <refentrytitle>fieldnum</refentrytitle>
      <refmiscinfo>PYGRESQL - Fieldnum</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>fieldnum</refname>
      <refpurpose><!--field name-number conversion-->フィールド名前/番号変換をします。<indexterm><primary>fieldnum</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>fieldnum</tertiary></indexterm><indexterm><primary sortas="ふぃーるど">フィールド</primary><secondary sortas="なまえばんごうへんかん">名前/番号変換</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
fieldnum(<replaceable>name</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-FIELDNUM-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>name</replaceable>
            </term>
            <listitem>
              <para>
                <!--field name (string).-->フィールド名（文字列）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-FIELDNUM-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--integer-->整数
            </term>
            <listitem>
              <para>
                <!--field number (integer).-->フィールド番号（整数）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-FIELDNUM-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad parameter type, or too many arguments.-->
                引数の型が合わない、または引数が多すぎる 
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <replaceable>ValueError</replaceable>
            </term>
            <listitem>
              <para>
                <!--Unknown field name.-->
                不明なフィールド名
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid query result, or invalid connection.-->
                無効な問い合わせ結果、または無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGQUERYOBJECT-FIELDNUM-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>fieldnum()</function> method returns a field number from its name.
        It can be used to build a function that converts result list strings to their correct
        type, using a hardcoded table definition.  The number returned is the
        field rank in the result values list.-->

        <function>fieldnum()</function>は、フィールド名を元にフィールド番号を返します。このメソッドは、ハードコードテーブル定義を用いて、結果リストの文字列を正しい型に変換する関数を作成する際に使用できます。返された番号は結果値リストの順番となります。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGQUERYOBJECT-NTUPLES">
    <refmeta>
      <refentrytitle>ntuples</refentrytitle>
      <refmiscinfo>PYGRESQL - Ntuples</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>ntuples</refname>
      <refpurpose><!--returns the number of tuples in query object-->
      問い合わせオブジェクトのタプル数を返します。<indexterm><primary>ntuples</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>ntuples</tertiary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
ntuples()
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-NTUPLES-1">
        <title><!--Parameters-->引数</title>
          <para>
            <!--none-->なし
          </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-NTUPLES-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--integer-->整数
            </term>
            <listitem>
              <para>
                <!--The number of tuples in query object.-->問い合わせオブジェクトのタプル数
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGQUERYOBJECT-NTUPLES-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGQUERYOBJECT-NTUPLES-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>ntuples()</function> method returns the number of tuples found in a query.-->
        <function>ntuples()</function>は、問い合わせ内のタプル数を返します。
      </para>
    </refsect1>

  </refentry>

 </sect1>


 <sect1 id="pygresql-pg-pglarge">
  <title><!--Large Object-->ラージオブジェクト――<classname>pglarge</classname></title>

  <para>
   <!--This object handles all the request concerning a
   <productname>PostgreSQL</productname> large object. It embeds and
   hides all the <quote>recurrent</quote> variables (object oid and
   connection), exactly in the same way
   <classname>pgobject</classname>s do, thus only keeping significant
   parameters in function calls. It keeps a reference to the <classname>pgobject</classname>
   used for its creation, sending requests though with its
   parameters. Any modification but dereferencing the
   <classname>pgobject</classname> will thus affect the
   <classname>pglarge</classname> object.  Dereferencing the initial
   <classname>pgobject</classname> is not a problem since
   <application>Python</application> will not deallocate it before the
   large object dereference it.  All functions return a generic error
   message on call error, whatever the exact error was. The
   <structfield>error</structfield> attribute of the object allows to
   get the exact error message.-->

   このオブジェクトは<productname>PostgreSQL</productname>のラージオブジェクトに関する要求を操作します。<classname>pgobject</classname>がと同じように、すべての<quote>再発</quote>変数（オブジェクトIDと接続）を埋め込み、隠し、また、関数呼び出しに重要な引数のみを残します。これは作成される際に使われた<classname>pgobject</classname>を参照し続け、引数を使って要求を送ります。したがって、<classname>pgobject</classname>を変更し、しかし、参照を行う場合には<classname>pglarge</classname>オブジェクトに影響を与えます。<application>Python</application>はラージオブジェクトが参照する前に解除を行わないので、初期の<classname>pgobject</classname>を参照する場合には問題はありません。すべての関数は、正確なエラーが何であったかにかかわらず、コールエラーの際には一般的なエラーメッセージを返します。オブジェクトの<structfield>error</structfield>属性は、正確なエラーメッセージを表示させます。
   
  </para>

  <para>
   <!--<classname>pglarge</classname> objects define a read-only set of
   attributes that allow to get some information about it. These
   attributes are:-->

   <classname>pglarge</classname>オブジェクトでは、その情報の一部分を取得できる、読み込み専用の属性群を定義しています。以下にその属性を示します。
   </para>

   <variablelist>
    <varlistentry>
     <term>oid</term>
     <listitem>
      <para>
       <!--the oid associated with the object-->
       オブジェクトに関連しているOID
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>pgcnx</term>
     <listitem>
      <para>
       <!--the <classname>pgobject</classname> associated with the object-->
       オブジェクトに関連している<classname>pgobject</classname> 
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>error</term>
     <listitem>
      <para>
       <!--the last warning/error message of the connection-->
       接続の最後の警告/エラーメッセージ
      </para>
     </listitem>
    </varlistentry>
   </variablelist>

   <note>
    <title><!--Be careful-->注意</title>

    <para>
     <!--In multithreaded environments, <structfield>error</structfield>
     may be modified by another thread using the same
     <classname>pgobject</classname>. Remember these object are
     shared, not duplicated; you should provide some locking to be
     able if you want to check this.  The oid attribute is very
     interesting because it allow you reuse the oid later, creating
     the <classname>pglarge</classname> object with a <classname>pgobject</classname>
     <function>getlo()</function> method call.-->

     マルチスレッドの環境において、<structfield>error</structfield>属性は同じ<classname>pgobject</classname>を使用している別のスレッドによって変更される可能性があります。これらのオブジェクトは複製されているのではなく、共有されていることに注意してください。この確認を行うには、ロックを与えるなどを行ってください。OIDの属性は、後に再利用でき、<classname>pgobject</classname>の<function>getlo()</function>メソッドの呼び出しによって<classname>pglarge</classname>オブジェクトを作成できるという大変おもしろいものです。
    </para>
   </note>

  <para>
   <!--See also <xref linkend="largeobjects"> for more information about the
   <productname>PostgreSQL</productname> large object interface.-->

   <productname>PostgreSQL</productname>のラージオブジェクトインターフェイスに関する詳細は、<xref linkend="largeobjects">を参照してください。
  </para>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-OPEN">
    <refmeta>
      <refentrytitle>open</refentrytitle>
      <refmiscinfo>PYGRESQL - Open</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>open</refname>
      <refpurpose><!--opens a large object-->ラージオブジェクトを開きます。<indexterm><primary>open</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>open</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="おーぷん">オープン</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
open(<replaceable>mode</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-OPEN-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>mode</replaceable>
            </term>
            <listitem>
              <para>
                <!--open mode definition (integer).-->開くときのモード定義（整数）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-OPEN-2">
        <title><!--Return Type-->返り値</title>
          <para>
            <!--none-->なし
          </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-OPEN-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad parameter type, or too many arguments.-->
                引数の型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Already opened object, or open error.-->
                すでに開かれている、または開いたときのエラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection.-->
                無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-OPEN-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>open()</function> method opens a large object for reading/writing,
        in the same way than the <acronym>UNIX</acronym> <function>open()</function>
        function. The mode value can be obtained by OR-ing the constants defined in
        the pg module (<literal>INV_READ, INV_WRITE</literal>).-->

        <function>open()</function>は、<acronym>UNIX</acronym>の<function>open()</function>関数と同様に、読み込み/書き出しのためにラージオブジェクトを開きます。モードの値はpgモジュール（<literal>INV_READ、INV_WRITE</literal>）で定義されている定数をORすることによって取得できます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-CLOSE">
    <refmeta>
      <refentrytitle>close</refentrytitle>
      <refmiscinfo>PYGRESQL - Close</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>close</refname>
      <refpurpose><!--closes the large object-->ラージオブジェクトを閉じます。<indexterm><primary>close</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>close</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="くろーず">クローズ</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
close()
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-CLOSE-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-CLOSE-2">
        <title><!--Return Type-->返り値</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-CLOSE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not opened, or close error.-->
                オブジェクトが開かれていない、または閉じる際のエラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection.-->無効な接続
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-CLOSE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>close()</function> method closes previously opened large object,
        in the same way than the <acronym>UNIX</acronym> <function>close()</function> function.-->

        <function>close()</function>は、<acronym>UNIX</acronym>の<function>close()</function>関数と同じように、開かれたラージオブジェクトを
        閉じます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-READ">
    <refmeta>
      <refentrytitle>read</refentrytitle>
      <refmiscinfo>PYGRESQL - Read</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>read</refname>
      <refpurpose><!--reads from the large object-->ラージオブジェクトから読む込みます。<indexterm><primary>read</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>read</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="よみこみ">読み込み</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
read(<replaceable>size</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-READ-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>size</replaceable>
            </term>
            <listitem>
              <para>
                <!--Maximal size of the buffer to be read (integer).-->
                バッファが読み込む最大の大きさ（整数）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-READ-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--string-->文字列
            </term>
            <listitem>
              <para>
                <!--The read buffer.-->読み込みバッファ
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-READ-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad parameter type, or too many arguments.-->
                引数の型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not opened, or read error.-->
                オブジェクトが開かれていない、または読み込みエラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection or invalid object.-->
                無効な接続、または無効なオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-READ-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>read()</function> method allows to read data from the large object,
        starting at current position.-->

        <function>read()</function>は、ラージオブジェクトのデータを現在の位置から読み込みます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-WRITE">
    <refmeta>
      <refentrytitle>write</refentrytitle>
      <refmiscinfo>PYGRESQL - Write</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>write</refname>
      <refpurpose><!--writes to the large object-->ラージオブジェクトに書き込みます。<indexterm><primary>write</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>write</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="かきこみ">書き込み</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
write(<replaceable>string</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-WRITE-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>string</replaceable>
            </term>
            <listitem>
              <para>
                <!--Buffer to be written (string).-->
                書き込むバッファ（文字列）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-WRITE-2">
        <title><!--Return Type-->返り値</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-WRITE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad parameter type, or too many arguments.-->
                引数の型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not opened, or write error.-->
                オブジェクトがが開かれていない、または書き込みエラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection or invalid object.-->
                無効な接続、または無効なオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-WRITE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>write()</function> method allows to write data to the large object,
        starting at current position.-->
        <function>write()</function>は、ラージオブジェクトにデータを現在の位置から書き込みます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-SEEK">
    <refmeta>
      <refentrytitle>seek</refentrytitle>
      <refmiscinfo>PYGRESQL - Seek</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>seek</refname>
      <refpurpose><!--change current position in the large object-->
                  ラージオブジェクトの現在の位置を変更（シーク）します。<indexterm><primary>seek</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>seek</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="しーく">シーク</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
seek(<replaceable>offset</replaceable>, <replaceable>whence</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-SEEK-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>offset</replaceable>
            </term>
            <listitem>
              <para>
                <!--Position offset (integer).-->
                位置のオフセット（整数）
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <replaceable>whence</replaceable>
            </term>
            <listitem>
              <para>
                <!--Positional parameter (integer).-->
                位置の引数（整数）
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-SEEK-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--integer-->整数
            </term>
            <listitem>
              <para>
                <!--New current position in the object.-->
                オブジェクト内の新しい現在の位置
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-SEEK-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad parameter type, or too many arguments.-->
                引数の型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not opened, or seek error.-->
                 オブジェクトが開かれていない、または検索エラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection or invalid object.-->
                無効な接続、または無効なオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-SEEK-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>seek()</function> method allows to move the cursor position
        in the large object. The whence parameter can be obtained by OR-ing the constants defined in the 
        <literal>pg</literal> module (<literal>SEEK_SET, SEEK_CUR, SEEK_END</literal>).-->

        <function>seek()</function>は、オブジェクト内でのカーソルの位置を動かします。<literal>pg</literal>モジュール（<literal>SEEK_SET、SEEK_CUR、SEEK_END</literal>）で定義されている定数をORすることによって、どこからか、の引数を取得できます。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-TELL">
    <refmeta>
      <refentrytitle>tell</refentrytitle>
      <refmiscinfo>PYGRESQL - Tell</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>tell</refname>
      <refpurpose><!--returns current position in the large object-->
                  ラージオブジェクトの現在のカーソルの位置を返します。<indexterm><primary>tell</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>tell</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="いちのしゅとく">位置の取得</secondary></indexterm>
      </refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
tell()
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-TELL-1">
        <title><!--Parameters-->引数</title>
          <para>
            <!--none-->なし
          </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-TELL-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--integer-->整数
            </term>
            <listitem>
              <para>
                <!--Current position in the object.-->
                オブジェクト内の現在の位置
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-TELL-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->
                引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not opened, or seek error.-->
                オブジェクトが開かれていない、または検索エラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection or invalid object.-->
                無効な接続、または無効なオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-TELL-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>tell()</function> method allows to get the current position in the large object.-->
        <function>tell()</function>は、ラージオブジェクト内の現在の位置を返します。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-UNLINK">
    <refmeta>
      <refentrytitle>unlink</refentrytitle>
      <refmiscinfo>PYGRESQL - Unlink</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>unlink</refname>
      <refpurpose><!--deletes the large object-->ラージオブジェクトを削除します。<indexterm><primary>unlink</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>unlink</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="さくじょ">削除</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
unlink()
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-UNLINK-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-UNLINK-2">
        <title><!--Return Type-->返り値</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-UNLINK-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not closed, or unlink error.-->
                オブジェクトが閉じられていない、またはアンリンクエラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection or invalid object.-->
                無効な接続、または無効なオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-UNLINK-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>unlink()</function> method unlinks (deletes) the large object.-->
        <function>unlink()</function>は、ラージオブジェクトをアンリンク（削除）します。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-SIZE">
    <refmeta>
      <refentrytitle>size</refentrytitle>
      <refmiscinfo>PYGRESQL - Size</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>size</refname>
      <refpurpose><!--gives the large object size-->ラージオブジェクトの大きさを返します。<indexterm><primary>size</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>size</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="さいずのしゅとく">サイズの取得</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
size()
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-SIZE-1">
        <title><!--Parameters-->引数</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-SIZE-2">
        <title><!--Return Type-->返り値</title>
        <variablelist>
          <varlistentry>
            <term>
              <!--integer-->整数
            </term>
            <listitem>
              <para>
                <!--The large object size.-->ラージオブジェクトのサイズ
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-SIZE-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>SyntaxError</errorname>
            </term>
            <listitem>
              <para>
                <!--Too many arguments.-->
                引数が多すぎる 
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not opened, or seek/tell error.-->
                オブジェクトが開かれていない、または検索/伝達エラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection or invalid object.-->
                無効な接続、または無効なオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-SIZE-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>size()</function> method allows to get the size of
        the large object. It was implemented because this function 
        is very useful for a WWW interfaced database.
        Currently the large object needs to be opened.-->

        <function>size()</function>は、ラージオブジェクトのサイズを返します。この関数はWebインターフェイスのデータベースではとても有益なため、実装されました。現在では、ラージオブジェクトは開かれている必要があります。
      </para>
    </refsect1>

  </refentry>

<!-- ********************************************************** -->

  <refentry id="PYGRESQL-PGLARGEOBJECT-EXPORT">
    <refmeta>
      <refentrytitle>export</refentrytitle>
      <refmiscinfo>PYGRESQL - Export</refmiscinfo>
    </refmeta>
    <refnamediv>
      <refname>export</refname>
      <refpurpose><!--saves the large object to file-->オブジェクトをファイルに保存（エクスポート）します。<indexterm><primary>export</primary></indexterm><indexterm><primary>PyGreSQL</primary><secondary sortas="かんすう">関数</secondary><tertiary>export</tertiary></indexterm><indexterm><primary sortas="らーじおぶじぇくと">ラージオブジェクト</primary><secondary sortas="えくすぽーと">エクスポート</secondary></indexterm></refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<synopsis>
export(<replaceable>filename</replaceable>)
</synopsis>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-EXPORT-1">
        <title><!--Parameters-->引数</title>
        <variablelist>
          <varlistentry>
            <term>
              <replaceable>filename</replaceable>
            </term>
            <listitem>
              <para>
                <!--The file to be created.-->作成するファイル
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-EXPORT-2">
        <title><!--Return Type-->返り値</title>
        <para>
          <!--none-->なし
        </para>
      </refsect2>

      <refsect2 id="R2-PYGRESQL-PGLARGEOBJECT-EXPORT-3">
        <title><!--Exceptions-->例外</title>
        <variablelist>
          <varlistentry>
            <term>
              <errorname>TypeError</errorname>
            </term>
            <listitem>
              <para>
                <!--Bad argument type, or too many arguments.-->
                型が合わない、または引数が多すぎる
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>IOError</errorname>
            </term>
            <listitem>
              <para>
                <!--Object is not closed, or export error.-->
                オブジェクトが閉じられていない、またはエクスポートエラー
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
              <errorname>pg.error</errorname>
            </term>
            <listitem>
              <para>
                <!--Invalid  connection or invalid object.-->
                無効な接続、または無効なオブジェクト
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect2>

    </refsynopsisdiv>

    <refsect1 id="R1-PYGRESQL-PGLARGEOBJECT-EXPORT-1">
      <title><!--Description-->説明</title>
      <para>
        <!--<function>export()</function> method allows to dump the
        content of a large object in a very simple way.
        The exported file is created on the host of the program,
        not the server host.-->

        <function>export()</function>は、ラージオブジェクトの内容をとても容易な方法でダンプします。エキスポートされたファイルはサーバーホストではなく、プログラムのホストで作成されます。
      </para>
    </refsect1>

  </refentry>

 </sect1>


 <sect1 id="pygresql-db-api">
  <title><acronym>DB-API</acronym><!--Interface-->インターフェイス</title>

  <comment>
   <!--This section needs to be written.-->このセクションはまだ書かれていません。
  </comment>

  <para>
   <!--See <ulink
   url="http://www.python.org/topics/database/DatabaseAPI-2.0.html"
   >http://www.python.org/topics/database/DatabaseAPI-2.0.html</ulink>
   for a description of the <acronym>DB-API</acronym> 2.0.-->

   <acronym>DB-API</acronym> 2.0に関する説明は<ulink url="http://www.python.org/topics/database/DatabaseAPI-2.0.html">http://www.python.org/topics/database/DatabaseAPI-2.0.html</ulink>を参照してください。
  </para>
 </sect1>

</chapter>
