mirror of
https://github.com/php/doc-ja.git
synced 2026-04-25 08:58:19 +02:00
bc053e4cf0
git-svn-id: https://svn.php.net/repository/phpdoc/ja/trunk@196477 c90b9560-bf6c-de11-be94-00142212c4b1
159 lines
5.7 KiB
XML
159 lines
5.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision: 1.11 $ -->
|
|
<!-- EN-Revision: 1.28 Maintainer: hirokawa Status: ready -->
|
|
<!-- CREDITS: takagi -->
|
|
<!-- Purpose: database.vendors -->
|
|
<!-- Membership: bundled, external -->
|
|
|
|
<reference id="ref.pgsql">
|
|
<title>PostgreSQL 関数</title>
|
|
<titleabbrev>PostgreSQL</titleabbrev>
|
|
|
|
<partintro>
|
|
<section id="pgsql.intro">
|
|
&reftitle.intro;
|
|
<para>
|
|
PostgreSQL データベースはオープンソースの製品であり、無料で
|
|
使用可能です。Postgres は元々 UCB(カリフォルニア大学バークレイ校)
|
|
コンピュータ・サイエンス学部で開発されたものです。この Postgres は、
|
|
現在いくつかの商用データベースにおいてサポートされつつある
|
|
オブジェクトリレーショナルデータベース的概念の多くの先駆けでした。
|
|
Postgres は、SQL92/SQL99 言語サポート・トランザクション・参照整合性・
|
|
ストアドプロシージャ・拡張可能な型を提供しています。PostgreSQL は、
|
|
バークレイ校での Postgres のオリジナルコードの、オープンソースの
|
|
子孫にあたります。
|
|
</para>
|
|
</section>
|
|
|
|
<section id="pgsql.requirements">
|
|
&reftitle.required;
|
|
<para>
|
|
PostgreSQL サポートを使用するには、PostgreSQL 6.5 以降が必要です。
|
|
PostgreSQL 8.0 以降では PostgreSQL モジュールの全ての機能を使用可能
|
|
です。PostgreSQL は、マルチバイト文字エンコーディングを含む多くの
|
|
文字エンコーディングをサポートしています。現在のバージョン及び
|
|
PostgreSQLに関するより詳細な情報は、
|
|
<ulink url="&url.pgsql;">&url.pgsql;</ulink> と
|
|
<ulink url="&url.pgsql.manual;">PostgreSQL Documentation</ulink>
|
|
で入手可能です。
|
|
</para>
|
|
</section>
|
|
|
|
&reference.pgsql.configure;
|
|
|
|
&reference.pgsql.ini;
|
|
|
|
<section id="pgsql.resources">
|
|
&reftitle.resources;
|
|
<para>
|
|
PostgreSQL モジュールで使用されるリソース型は 2 種類あります。ひとつは
|
|
データベース接続のリンク ID で、もうひとつはクエリの結果を保持する
|
|
リソースです。
|
|
</para>
|
|
</section>
|
|
|
|
&reference.pgsql.constants;
|
|
|
|
<section id="pgsql.notes">
|
|
&reftitle.notes;
|
|
<note>
|
|
<para>
|
|
すべての関数がすべての構築環境でサポートされるわけではありません。
|
|
サポートされる関数は、使用する libpq(PostgreSQL の C クライアント
|
|
ライブラリ)のバージョンと libpq のコンパイル方法に依存します。
|
|
もし PHP の PostgreSQL 拡張モジュールに足りない関数がある場合、
|
|
その原因は libpq はその関数をサポートしていないことです。
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
ほとんどの PostgreSQL 関数は、オプションの第 1 引数として
|
|
<parameter>connection</parameter> を受け付けます。もしこれを
|
|
指定しなかった場合、直近にオープンされた接続を使用します。
|
|
そのような接続が存在しなかった場合、関数は &false; を返します。
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
PostgreSQL は、オブジェクトの生成時やクエリの実行時に
|
|
識別子(例: テーブル名・カラム名)を自動的に小文字に変換します。
|
|
この自動変換を防ぐには、識別子をダブルクォート("")でエスケープする
|
|
必要があります。
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
PostgreSQL には、データベースのスキーマ情報(例: データベース内の
|
|
すべてのテーブルなど)を取得するための特別なコマンドがありません。
|
|
その代わりに、PostgreSQL 7.4 以降では <literal>information_schema</literal>
|
|
という標準スキーマが存在し、必要な情報が検索しやすい形式で格納されています。
|
|
詳しい情報は <ulink url="&url.pgsql.manual;">PostgreSQL ドキュメンテーション</ulink>
|
|
を参照ください。
|
|
</para>
|
|
</note>
|
|
</section>
|
|
|
|
<section id="pgsql.examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
この例では、PostgreSQL への接続・クエリの実行・結果の表示
|
|
そして切断の方法を説明します。
|
|
<example>
|
|
<title>PostgreSQL 拡張モジュールの概要</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// 接続し、データベースを選択する
|
|
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo");
|
|
or die('Could not connect: ' . pg_last_error());
|
|
|
|
// SQL クエリを実行する
|
|
$query = 'SELECT * FROM authors';
|
|
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
|
|
|
|
// 結果を HTML で表示する
|
|
echo "<table>\n";
|
|
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
|
|
echo "\t<tr>\n";
|
|
foreach ($line as $col_value) {
|
|
echo "\t\t<td>$col_value</td>\n";
|
|
}
|
|
echo "\t</tr>\n";
|
|
}
|
|
echo "</table>\n";
|
|
|
|
// 結果セットを開放する
|
|
pg_free_result($result);
|
|
|
|
// 接続をクローズする
|
|
pg_close($dbconn);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</section>
|
|
</partintro>
|
|
|
|
&reference.pgsql.functions;
|
|
|
|
</reference>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|