PostgreSQL 関数 PostgreSQL
&reftitle.intro; PostgreSQL データベースはオープンソースの製品であり、無料で 使用可能です。Postgres は元々 UCB(カリフォルニア大学バークレイ校) コンピュータ・サイエンス学部で開発されたものです。この Postgres は、 現在いくつかの商用データベースにおいてサポートされつつある オブジェクトリレーショナルデータベース的概念の多くの先駆けでした。 Postgres は、SQL92/SQL99 言語サポート・トランザクション・参照整合性・ ストアドプロシージャ・拡張可能な型を提供しています。PostgreSQL は、 バークレイ校での Postgres のオリジナルコードの、オープンソースの 子孫にあたります。
&reftitle.required; PostgreSQL サポートを使用するには、PostgreSQL 6.5 以降が必要です。 PostgreSQL 8.0 以降では PostgreSQL モジュールの全ての機能を使用可能 です。PostgreSQL は、マルチバイト文字エンコーディングを含む多くの 文字エンコーディングをサポートしています。現在のバージョン及び PostgreSQLに関するより詳細な情報は、 &url.pgsql; と PostgreSQL Documentation で入手可能です。
&reference.pgsql.configure; &reference.pgsql.ini;
&reftitle.resources; PostgreSQL モジュールで使用されるリソース型は 2 種類あります。ひとつは データベース接続のリンク ID で、もうひとつはクエリの結果を保持する リソースです。
&reference.pgsql.constants;
&reftitle.notes; すべての関数がすべての構築環境でサポートされるわけではありません。 サポートされる関数は、使用する libpq(PostgreSQL の C クライアント ライブラリ)のバージョンと libpq のコンパイル方法に依存します。 もし PHP の PostgreSQL 拡張モジュールに足りない関数がある場合、 その原因は libpq はその関数をサポートしていないことです。 ほとんどの PostgreSQL 関数は、オプションの第 1 引数として connection を受け付けます。もしこれを 指定しなかった場合、直近にオープンされた接続を使用します。 そのような接続が存在しなかった場合、関数は &false; を返します。 PostgreSQL は、オブジェクトの生成時やクエリの実行時に 識別子(例: テーブル名・カラム名)を自動的に小文字に変換します。 この自動変換を防ぐには、識別子をダブルクォート("")でエスケープする 必要があります。 PostgreSQL には、データベースのスキーマ情報(例: データベース内の すべてのテーブルなど)を取得するための特別なコマンドがありません。 その代わりに、PostgreSQL 7.4 以降では information_schema という標準スキーマが存在し、必要な情報が検索しやすい形式で格納されています。 詳しい情報は PostgreSQL ドキュメンテーション を参照ください。
&reftitle.examples; この例では、PostgreSQL への接続・クエリの実行・結果の表示 そして切断の方法を説明します。 PostgreSQL 拡張モジュールの概要 \n"; while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { echo "\t\n"; foreach ($line as $col_value) { echo "\t\t$col_value\n"; } echo "\t\n"; } echo "\n"; // 結果セットを開放する pg_free_result($result); // 接続をクローズする pg_close($dbconn); ?> ]]>
&reference.pgsql.functions;