改訂版・PC UNIX ユーザのためのPostgreSQL 完全攻略ガイド・目次


Chapter1 PostgreSQLの世界へようこそ
1.1 PostgreSQL誕生の経緯
 1.1.1 postgres
 1.1.2 postgres95とPostgreSQL
 1.1.3 日本語対応から国際化対応へ
1.2 PostgreSQLの特徴
 1.2.1 SQL92のサポート
 1.2.2 無償利用&ソースコードの公開
 1.2.3 数多くのプラットフォームで稼動
 1.2.4 多様なプログラミングインターフェースをサポート
 1.2.5 クライアント/サーバアーキテクチャ
 1.2.6 日本語化&国際化対応
 1.2.7 ユーザ定義関数
 1.2.8 リーレショナルデータモデルを超えるオブジェクト指向機能

Chapter2 PostgreSQLをセットアップしよう
2.1 インストールの前に
 2.1.1 ドキュメント
2.2 インストールのための準備
 2.2.1 ソースの入手方法
 2.2.2 必要なツール類
2.3 コンパイルとインストール
 2.3.1 必要なディスク容量
 2.3.2 インストールのステップ
 2.3.3 専用アカウント作成などの準備
 2.3.4 ソースを展開しパッチを当てる
 2.3.5 いよいよコンパイル
2.4 環境設定
 2.4.1 コマンドサーチパス
 2.4.2 環境変数
2.5 初期設定
 2.5.1 データベースの初期化
 2.5.2 postmasterの起動
 2.5.3 regression test
 2.5.4 postmasterの自動起動
2.6 ユーザ登録&ユーザDB作成
 2.6.1 ユーザ登録
 2.6.2 データベースの作成
2.7 基本的な使い方
 2.7.1 psql
 2.7.2 テーブルの作成
 2.7.3 データ登録
 2.7.4 データの表示
 2.7.5 update
 2.7.6 delete
 2.7.7 drop table
 2.7.8 copy
 2.7.9 psqlのヘルプ機能
 2.7.10 バックスラッシュコマンド
 2.7.11 psqlの起動オプション
2.8 セキュリティ機能
 2.8.1 host based authentication(HBA)
 2.8.2 flat file password authentication
 2.8.3 crypt authentication
 2.8.4 テーブルごとのアクセス権設定

Chapter3 PostgreSQLをより深く知る
3.1 PostgreSQLのプロセス&モジュール構造
 3.1.1 PostgreSQLを構成するプロセス
 3.1.2 PostgreSQLのモジュール構造
3.2 PostgreSQLのソースツリー
3.3 PostgreSQLの問い合わせ言語〜その1:予約語
3.4 PostgreSQLの問い合わせ言語〜その2:データ型
 3.4.1 概要
 3.4.2 数値データ型
 3.4.3 文字データ型
 3.4.4 日付データ型
 3.4.5 地理データ型
 3.4.6 その他の関数
 3.4.7 配列
3.5 PostgreSQLの問い合わせ言語〜その3:テーブルの定義
 3.5.1 制約
 3.5.2 デフォルト値
 3.5.3 シーケンスとシリアル型
 3.5.4 一時のテーブル
 3.5.5 create table as
3.6 PostgreSQLの問い合わせ言語〜その4:viewとrule
 3.6.1 view
 3.6.2 viewの有用性
 3.6.3 PostgreSQLのviewの制限
 3.6.4 rule
 3.6.5 更新可能なview
 3.6.6 ruleの難しさ
 3.6.7 ruleの利用例
 3.6.8 ruleとtrigger
3.7 PostgreSQLの問い合わせ言語〜その5:select
 3.7.1 相関名
 3.7.2 distinct
 3.7.3 select...into
 3.7.4 group byとhaving
 3.7.5 order by
 3.7.6 case
 3.7.7 nullif
 3.7.8 coalesce
 3.7.9 行値コンストラクタ
 3.7.10 サブクエリー
 3.7.11 union
 3.7.12 intersect,except
 3.7.13 outer join
 3.7.14 カーソル
3.8 PostgreSQLの問い合わせ言語〜その6:ユーザ定義関数
 3.8.1 はじめに
 3.8.2 create function
 3.8.3 SQL関数
 3.8.4 C関数
 3.8.5 PL/pgSQL
 3.8.6 functional index
3.9 PostgreSQLの問い合わせ言語〜その7:ユーザ定義オペレータ
 3.9.1 オペレータ
 3.9.2 オペレータに割り当てる記号
 3.9.3 create operator
3.10 PostgreSQLの問い合わせ言語〜その8:ユーザ定義データ型
 3.10.1 C構造退の設計
 3.10.2 データを内部表現から外部表現に変換する
 3.10.3 データを外部表現から内部表現に変換する
 3.10.4 create typeでデータ型を登録する
 3.10.5 オペレータを定義する
3.11 PostgreSQLの問い合わせ言語〜その9:トリガ
 3.11.1 トリガの定義
 3.11.2 トリガ用関数の定義
3.12 PostgreSQLの問い合わせ言語〜その10:トランザクション
 3.12.1 トランザクションとは?
 3.12.2 トランザクションの開始/終了
 3.12.3 トランザクションの利用例
 3.12.4 トランザクションの隔離レベル
 3.12.5 MVCC
 3.12.6 トランザクションの同時実行制御
 3.12.7 ロックモード
 3.12.8 デッドロック

Chapter4 各種アプリケーションを作成する
4.0 アプリケーション作成の前に
4.1 Tcl/Tkインターフェースを使って〜Mail/Newsの全文検索システム
 4.1.1 Tcl/Tkとは
 4.1.2 Tcl/Tkのインストール
 4.1.3 libpgtclのインストール
 4.1.4 pgaccessのインストール
 4.1.5 pgaccessを使ってみよう
 4.1.6 Mail/Newsの全文検索システムの作成
 4.1.7 感想など
4.2 Cインターフェースを使って〜ベンチマークプログラムの作成
 4.2.1 基本ライブラリとしてのlibpq
 4.2.2 xpgbench
 4.2.3 非同期処理
 4.2.4 xpgbenchインストール
 4.2.5 xpgbenchの使い方
 4.2.6 ソースコードについて
 4.2.7 その他のlibpq関数
 4.2.8 感想など
4.3 PHPインターフェースを使って〜ApacheなどWWWサーバとの連携
 4.3.1 WWWとは
 4.3.2 CGI
 4.3.3 サーバサイドスクリプトとしてのPHP
 4.3.4 PHPとは
 4.3.5 PHPスクリプトの書き方
 4.3.6 PHPのインストール
 4.3.7 ドキュメント
 4.3.8 画像管理システム
 4.3.9 その他のPostgreSQL用関数
 4.3.10 感想など
4.4 Perlインターフェースを使って
 4.4.1 PostgreSQL Perlインターフェース
 4.4.2 pgsql_perl5のインストール
 4.4.3 Perl/CGIによるMail/Newsの全文検索システムの作成
 4.4.4 その他の関数
 4.4.5 ラージオブジェクト用の関数
 4.4.6 感想など
4.5 JDBCドライバを使って
 4.5.1 JDBCドライバとは
 4.5.2 JDBCドライバのインストール
 4.5.3 付属exampleプログラムの実行
 4.5.4 ImageViewer
 4.5.5 PostgreSQL JDBC APIの使い方
 4.5.6 サンプルアプリケーションjpgpost
 4.5.7 感想など

Chapter5 知っておきたいTips集
5.1 データベースのバックアップ
 5.1.1 ホットバックアップ
 5.1.2 商用データベースのバックアップとの比較
 5.1.3 バックアップの実際〜pg_dumpとpg_dumpall
5.2 大規模ユーザ数への対応
 5.2.1 はじめに
 5.2.2 関連するシステム資源
 5.2.3 共有メモリ
 5.2.5 ファイルテーブルのエントリ
5.3 PostgreSQLのパフォーマンス
 5.3.1 メモリ
 5.3.2 fsync()
 5.3.3 vacuum
 5.3.4 WWWとPostgreSQL
 5.3.5 環境変数PGCLIENTENCODING
5.4 PostgreSQLの開発体制と今後の予定
 5.4.1 PostgreSQLの開発体制
 5.4.2 今後のPostgreSQL
5.5 インターネット上の関連情報
 5.5.1 PostgreSQL関連
 5.5.2 PostgreSQL関連ソフトウェア

Column
 ●PostgreSQLを使用するにあたっての注意点
 ●MULE INTERNALコードの入出力方法
 ●avg(平均値)を小数点以下まで求める方法
 ●PostgreSQLの表現
 ●FreeBSDにおけるcrypt authenticationの問題点
 ●必要なバイト数の調べ方
 ●Cのデバッグを簡単にする?
 ●xpgbenchが実行するトランザクションの内容
 ●日本人による貢献
 ●Wisconsin Benchmark

Appendix
App.1 参考文献
App.2 付属CD-ROMについて

あとがき
さくいん