■1-02■ PostgreSQLの概要
PostgreSQLの機能
【表.1-2】にPostgreSQLの主要な機能をまとめます。
表.1-2 PostgreSQLの機能
| 機能 | 説明 |
スキーマ | バージョン7.3から |
データ型 | SQL92,99準拠のデータ型の他に、独自データ型(幾何データ型、ネットワーク アドレスデータ型)をもつ。 配列も利用可能 |
SELECT文 | 副問い合わせ、テーブルの結合(INNNER JOIN, OUTER JOIN)、問い合わせの結合 (UNION, INTERSECT, EXCEPT)、CASE文、GROUP BY、HAVING、DISTINT、ORDER BY |
制約 | PRIMARY KEY(主キー)制約、UNIQUE(一意性)制約、FOREIGN KEY(外部キー)制約、CHECK制約 |
定義 | ユーザがデータ型、ユーザ演算子、関数を定義できる |
ラージオブジェクト | ラージオブジェクト(LOB: 画像データ、音声データなどのバイナリデータ) を利用可能 |
ストアドプロシージャ | PL/pgSQLによるストアドプロシージャをサポート |
トランザクション | 隔離レベルとしてREAD COMMITTEDとSERIALIZABLEをサポート |
トリガ | トリガをサポート |
ロック | 行ロックとテーブルロックをサポート。ロックレベルは8レベル |
カーソル | カーソルをサポート |
マルチバイト文字の扱い | 日本語を含む各種マルチバイト文字を利用可能 |
データベースのダンプ/リストア | データベース稼働中にバックアップできる(ホットバックアップ)。 ダンプとリストアを行うツールが準備されている(差分バックアップはできない) |
クライアントインタフェース | libpgライブラリによるアプリケーション作成。JDBC, ODBC対応。Perl, PHP, Rubyなど主要なスクリプト言語からアクセス可能 |
認証 | パスワード認証、Kerberos 認証などをサポート |
外部との接続 | SSHトンネリング、SSLでの接続可能 |
次に示すのは、主要な市販データベースシステムがサポートし、PostgreSQLがサポートしていない機能です。
・差分バックアップ
・レプリケーション
・クラスタリング
・RAWデバイスの利用
制限
【表.1-3】にPostgreSQLの制限をまとめます。
表.1-3 PostgreSQLの制限
| 項目 | 制限 |
| データベースの大きさ | 無制限 |
| テーブルの大きさ | 最大16[Tbyte] |
| テーブルの行数 | 無制限 |
| テーブルの列数 | 最大1600。データ型に依存 |
| 1列の大きさ | 最大1[Gbyte] |
| インデックスの大きさ | 無制限 |
ここで`無制限'とは、PostgreSQLが制限を設けていないということであり、現実的にはOSやハードウエアのスペックに制限されます。
次の制限は、変更可能です(表1-4)。
表.1-4 変更可能なPostgreSQLの制限
| 項目 | 制限 | 説明 |
| 識別子の文字長 | 63文字 | テーブル名などの最大文字長は63。バージョン7.2までは31。 |
| 同時接続するクライアントの最大数 | 実行時パラメータmax_connectionsに設定。デフォルトは32 | この値を大幅に増やすには、メモリなど充分なカーネル資源が必要。 |
稼働するプラットフォーム
表1-5にバージョン7.3が稼働するプラットフォームとプロセッサの一覧を示します。
表1-5 PostgreSQL 7.3の稼動するプラットフォームとプロセッサ一覧
| プラットフォーム | プロセッサ |
| AIX | RS6000 |
| BSD/OS | x86 |
| FreeBSD | Alpha, x86 |
| HP-UX | PA-RISC |
| IRIX | MIPS |
| Linux | Alpha, PlayStation 2, PPC74xx, S/390, Sparc, x86 |
| MacOS | OS X PPC, x86 |
| NetBSD | arm32, x86 |
| OpenBSD | Sparc, x86 |
| Solaris | Sparc, x86 |
| Tru64 UNIX | Alpha |
| Windows2000/NT/XP | x86 |
[
PREVIOUS][
UP][
NEXT]