Postgresは元々UCB(カリフォルニア大学バークレイ校)コンピュータ・サ イエンス学部で開発されたものです。このPostgresは、 いくつかの商用データベースにおいてサポートされつつあるオブジェクト リレーショナルデータベース的概念の多くの先駆けでした。 PostgreSQLは、SQL92/SQL3言語サポート、トランザクション機能、 拡張可能な型を提供しています。 PostgreSQLは、パブリック・ドメイン、オープンソースで、オリジナルの バークレイ・コードから発展してきた子孫にあたります。
PostgreSQLは無料で利用できます。現在のバージョン はwww.PostgreSQL.orgで入手可能です。
バージョン6.3(1998/3/2)以降、PostgreSQLはUNIXドメインソケットを 使用しています。これらの新しいコネクションの使用例を以下に示す表に 示します。このソケットは/tmp/.s.PGSQL.5432にあります。 このオプションはpostmasterに対して'-i'フラグを 指定することで有効となります。これは "Unixドメインソケット以外のTCP/IP ソケットもlisten する"という意味です。
表 1PostmasterとPHP
Postmaster | PHP | ステータス |
---|---|---|
postmaster & | pg_connect("dbname=MyDbName"); | OK |
postmaster -i & | pg_connect("dbname=MyDbName"); | OK |
postmaster & | pg_connect("host=localhost dbname=MyDbName"); | Unable to connect to PostgreSQL server: connectDB() failed: Is the postmaster running and accepting TCP/IP (with -i) connection at 'localhost' on port '5432'? in /path/to/file.php3 on line 20. |
postmaster -i & | pg_connect("host=localhost dbname=MyDbName"); | OK |
次のコマンドでも接続を確立することができます。 $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") は推奨されません。
ラージオブジェクト(lo)インターフェースを使用するには、そのクエリーを トランザクション・ブロックの中に入れてやる必要があります。 トランザクション・ブロックはbeginで始まり、 そのトランザクションが有効な場合はcommitまたは endで終わります。トランザクションが失敗した場合、 そのトランザクションはabortまたは rollbackにより閉じる必要があります。