|
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7">LXXXIPostgreSQL 関数導入PostgreSQLデータベースはオープンソースのプロダクツであり、無料で 使用可能できます。Postgresは元々UCB(カリフォルニア大学バークレイ校) コンピュータ・サイエンス学部で開発されたものです。このPostgresは、 現在、いくつかの商用データベースにおいてサポートされつつあるオブジェク トリレーショナルデータベース的概念の多くの先駆けでした。 Postgresは、SQL92/SQL3言語サポート、トランザクションインテグリティ、 拡張可能な型を提供しています。PostgreSQLは、Postgresのオリジナルの バークレイ・コードのオープンソースの子孫にあたります。 要件PostgreSQLサポートを使用するには、PostgreSQL 6.5以降が必要です。 PostgreSQL 7.0以降ではPostgreSQLモジュールの全ての機能を使用可能 です。PostgreSQLは、マルチバイト文字エンコーディングを含む多くの 文字エンコーディングをサポートしています。現在のバージョン及び PostgreSQLに関するより詳細な情報は、www.postgresqlL.orgで入手可能です。 インストール手順PostgreSQLサポートを利用可能とするには、PHPコンパイル時に --with-pgsql[=DIR] を指定することが必要です。 共有オブジェクトモジュールが利用可能な場合、php.ini の extension ディレクティブ または dl() 関数によりPostgreSQLモジュール をロードすることが可能です。 使用法およびヒント
全ての関数が全ての構築環境でサポートされるわけではありません。サポー トされる関数は、使用するlibpq(PostgreSQLのCクライアントインターフェ イス)のバージョンとlibpqのコンパイル方法に依存します。足りない関数 がある場合、libpqはその関数を必要とする機能をサポートしません。 接続するPostgreSQLサーバーよりも新しいlibpqを使用することも重要で す。使用するlibpqのバージョンがPostgreSQLサーバが期待するよりも古 い場合、問題を生じる可能性があります。 バージョン6.3(1998/3/2)以降、PostgreSQLはUNIXドメインソケットを 使用しています。これらの新しいコネクションの使用例を以下に示す表に 示します。このソケットは/tmp/.s.PGSQL.5432にあります。 このオプションはpostmasterに対して'-i'フラグを 指定することで有効となります。これは "Unixドメインソケット以外のTCP/IP ソケットもlisten する"という意味です。 表 2postmasterとPHP
PostgreSQL サーバへの接続は、以下のようにコマンド文字列の中に 値の組を羅列することにより、確立することができます。 $conn = pg_Connect("host=myHost port=myPort tty=myTTY options=myOptions dbname=myDB user=myUser password=myPassword"); 以前の構文: $conn = pg_connect ("host", "port", "options", "tty", "dbname") は古い構文であり、推奨されません。 環境変数は、PostgreSQLサーバ/クライアントの動作に影響を与えます。 例えば、PostgreSQLモジュールは、ホスト名が接続文字列で省略された場 合、環境変数PGHOSTを探します。サポートされる環境変数は、バージョン 毎に異なります。詳細は、PostgreSQLプログラマ用マニュアル(libpq - 環境変数)を参照下さい。 適切なユーザ用に環境変数が設定されていることを確認して下さい。 カレントのプロセスで利用可能な環境変数を確認するには、 $_ENV または getenv() を使用して下さい。 定義済みの定数これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。
例PostgreSQL 7.1.0から、textデータ型の最大サイズは1GBとなっています。 古いPostgreSQLのtextデータ型はブロックサイズ(デフォルトは8KB、最大 32KBをコンパイル時に定義可能)の制限を受けていました。 ラージオブジェクト(lo)インターフェースを使用するには、そのクエリーを トランザクション・ブロックの中に入れてやる必要があります。 トランザクション・ブロックはBEGINで始まり、 そのトランザクションが有効な場合はCOMMITまたは ENDで終わります。トランザクションが失敗した場合、 そのトランザクションはROLLBACKまたは ABORTにより閉じる必要があります。
|