next up previous contents
Next: 日本語の扱い Up: WWWでデータベースにチャレンジ!〜PostgreSQLを使って Previous: フリーなデータベース・システム ``PostgreSQL''

PostgreSQL の機能

PostgreSQL の問い合わせ言語は SQL-92 のサブセット+拡張です。普通の RDBMS でできるようなことは大抵 PostgreSQL でも可能ですが、以下のことは できません。gif

拡張機能としては、継承、オブジェクト識別子、関数の多重定義などがありま す。ここから、PostgreSQL は、オブジェクト指向的な RDBMS と言う意味で、 Object-Relational Database Management System と呼ばれることがあります。 Object-Relational Database Management Systemの概念については、参考文献 [1]を参照して下さい。ちなみに、この中で取り上げられている Illustra とは、PostgreSQL の前身である postgresか ら派生した商用データベースです。いわば、PostgreSQL の兄弟とも言えます ので PostgreSQL について勉強する上でも参考になる部分が結構あります。

PostgreSQL へのプログラム・インターフェイスとしては、

  1. C言語からの呼び出し(libpq)
  2. UNIXコマンドレベルからの呼び出し(psql 他)
  3. Tcl /Tk インターフェイス(pgtclsh/pgtksh)
  4. perl インターフェイス(pg95perl)

の3つがあります。

1 の libpq は最も基本的なインターフェイスで、後の2つは内部的に libpq を呼び出しているだけです。libpq はデータベースエンジン・プロセスと通信 し、実際の処理はすべてデータベース・サーバ側で行われます。したがって、 PostgreSQL を CGI から呼び出す場合にも、データベース本体を WWW サーバ の動いているホストに置く必要はありません(もちろん置いても構いませんが) WWWサーバとPostgreSQL

WWWサーバとPostgreSQL

2 の psql は手軽に使える SQL インタプリタです。そのほか、データベー スの管理作業用に、後述の createuser などの UNIX コマンドが用意されてい ます。

3 は スタンドアロンの GUI アプリケーションを開発するときに利用します。 今回は詳しく説明しませんが、Tcl/Tk がインタプリタ言語であることもあっ て、なかなか重宝なものです。ちなみに筆者のところでは、PostgreSQL の Tcl/Tk インターフェイスを利用して図 2 のような簡単な図書データベースを作って利用しています。

4 はいわずとしれたスクリプト言語 perl のインターフェイスです。 特に CGI の実装用に人気があります。

そのほか、正式サポートではありませんが、Java インターフェイスもありま す。筆者が使ったことのあるのは http://www.tara-lu.com/ jimb/jsql/ からベータ版が入手できる Java-Postgres95-0.2 です。 native method を使っていないので プラットフォームを選びません。 gif



Tatsuo Ishii
1998年07月06日(月) 14時34分03秒 JST