改訂第4版 PC UNIXユーザのための PostgreSQL 完全攻略ガイド
石井達夫 著 / B5変形判 / 416ページ
ISBN4-7741-2056-1 / 2004年6月28日発売
CD:1枚
定価3444円(本体3280円)
目次
Chapter1 Introduction~PostgreSQLの世界へようこそ
1.1PostgreSQLとは
1.1.1 .データベースとは
1.1.2 .オープンソースデータベースPostgreSQL
1.2PostgreSQLの歴史
1.2.1 .Ingres
1.2.2 .postgres
1.2.3 .postgresの終焉
1.2.4 .postgres95
1.2.5 .PostgreSQLの誕生
1.2.6 .日本語対応と国際化
1.2.7 .PostgreSQLクロニクル
1.3PostgreSQLの特徴
1.3.1 .SQLのサポート
1.3.2 .無償利用&ソースコードの公開
1.3.3 .数多くのプラットフォームで稼動
1.3.4 .多彩なプログラミングインターフェイスをサポート
1.3.5 .クライアント/サーバアーキテクチャ
1.3.6 .日本語化&国際化対応(マルチバイトサポート)
1.3.7 .ユーザ定義関数
1.3.8 .ユーザ定義データ型
1.3.9 .リレーショナルデータモデルを超えるオブジェクト指向機能
1.3.10 .PostgreSQLが扱うことのできる各種上限値
Chapter2 Instrallation~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 .postmasterの終了
2.5.4 .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の起動オプション
Chapter3 Learning PostgreSQL~PostgreSQLをより深く知る
3.1PostgreSQLのプロセス&モジュール構造
3.1.1 .PostgreSQLを構成するプロセス
3.1.2 .PostgreSQLのモジュール構造
3.1.3 .PostgreSQLのデータ構造
3.2PostgreSQLのソースツリー
3.3PostgreSQLの問い合わせ言語
3.4PostgreSQLの問い合わせ言語
3.4.1 .概要
3.4.2 .数値データ型
3.4.3 .文字列データ型
3.4.4 .日付データ型
3.4.5 .バイナリデータ型
3.4.6 .その他のデータ
3.4.7 .その他の関数
3.4.8 .配列
3.4.9 .ラージオブジェクト
3.5PostgreSQLの問い合わせ言語
3.5.1 .スキーマ
3.5.2 .制約
3.5.3 .デフォルト値
3.5.4 .シーケンスとシリアル型
3.5.5 .ドメイン
3.5.6 .一時テーブル
3.5.7 .CREATE TABLE AS
3.5.8 .ALTER TABLE
3.6PostgreSQLの問い合わせ言語
3.6.1 .ビュー
3.6.2 .ビューの有用性
3.6.3 .PostgreSQLのビューの制限
3.6.4 .ルール
3.6.5 .更新可能なビュー
3.6.6 .ルールの利用性
3.6.7 .ルールとトリガ
3.7PostgreSQLの問い合わせ言語
3.7.1 .相関名
3.7.2 .DISTINCT
3.7.3 .SELECT ...INFO
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 .ALL/ANY/SOME
3.7.12 .UNION
3.7.13 .INTERSECT/EXCEPT
3.7.14 .結合(JOIN)
3.7.15 .カーソル
3.7.16 .PREPAREとEXECUTE
3.8PostgreSQLの問い合わせ言語
3.8.1 .はじめに
3.8.2 .CREATE FUNCTION
3.8.3 .SQL関数
3.8.4 .PL/pgSQL関数
3.9PostgreSQLの問い合わせ言語
3.9.1 .インデックスとは
3.9.2 .CREATE INDEX/DROP INDEX文
3.9.3 .VACUUM
3.9.4 .関数インデックス
3.9.5 .式インデックス
3.9.6 .複合インデックス
3.9.7 .部分インデックス
3.9.8 .インデックスと CLUSTERコマンド
3.10 PostgreSQLの問い合わせ言語
3.10.1 .トリガの定義
3.10.2 .トリガ用関数の定義
3.11PostgreSQLの問い合わせ言語
3.11.1 .トランザクションとは
3.11.2 .トランザクションの開始/終了
3.11.3 .トランザクションの特性
3.11.4 .トランザクションの利用例
3.11.5 .トランザクションの分離レベル
3.11.6 .MVCC
3.11.7 .トランザクションの同時実行制御
3.11.8 .ロックモード
3.11.9 .デッドロック
3.11.10 .一時テーブルとトランザクション
3.12PostgreSQLの問い合わせ言語
3.12.1 .外部キー
3.12.2 .参照整合性制約
3.12.3 .参照操作
3.12.4 .NULLの扱いとMATCHオプション
3.12.5 .参照整合性チェックの遅延
3.12.6 .参照整合性制約の追加/削除
3.12.7 .まとめ
3.13PostgreSQLの問い合わせ言語
3.13.1 .インフォメーションスキマーとは
3.13.2 .PostgreSQLにおけるインフォメーションスキマー
3.13.3 .インフォメーションスキマーで使われるデータ型
3.13.4 .インフォメーションスキマーの構成要素
Chapter4 Making Applications~PostgreSQLアプリケーションを作成する
4.1アプリケーション作成の前に
4.1.1 .アプリケーションの概要
4.1.2 .テーブル定義について
4.1.3 .データのPostgreSQLへの取り込み
4.1.4 .名詞管理アプリケーションの使い方
4.1.5 .注意事項
4.2PHPインターフェイスを使って
4.2.1 .PHPとは
4.2.2 .PEARとは
4.2.3 .Smartyとは
4.2.4 .PHPなどの導入
4.2.5 .アプリケーションの導入
4.2.6 .アプリケーションの起動
4.2.7 .ソースコードの解説
4.2.8 .ドキュメントについて
4.3Perlインターフェースを使って
4.3.1 .PostgreSQLとPerl
4.3.2 .DBD-Pgとは
4.3.3 .DBIとDBD-Pgの導入
4.3.4 .CGIとTemplate
4.3.5 .アプリケーションの導入
4.3.6 .アプリケーションの起動
4.3.7 .ソースコードの解説
4.3.8 .ドキュメントについて
Chapter5 Managing PostgreSQL~PostgreSQLの管理
5.1PostgreSQLの管理とは
5.2セキュリティ管理
5.2.1 .pg_hba.conf
5.2.2 .ユーザ単位の認証
5.2.3 .GRANTによるアクセス権限の付与
5.2.4 .REVOKEによるアクセス権限の剥奪
5.2.5 .アクセス権限の確認
5.2.6 .SSLによる通信経路の暗号化
5.3ログ管理
5.3.1 .syslogの設定
5.3.2 .postgresql.confの設定
5.3.3 .syslog以外へのログの取得
5.4バックアップとリストア
5.4.1 .データベースのバックアップ
5.4.2 .バックアップの方法
5.4.3 .バックアップの実際~pg_dumpとpg_dumppall
5.5VACUUM
5.5.1 .VACUUMによる不要領域の再利用
5.5.2 .トランザクションカウンタのオーバフローへの対処
5.5.3 .VACUUM FULL
5.6パフォーマンスチューニング
5.6.1 .メモリ資源
5.6.2 .大規模ユーザ数への対応
5.6.3 .WAL
5.6.4 .EXPLAINコマンドを理解する
5.6.5 .VACUUMによる統計情報の更新
5.6.6 .クエリの書き方における注意事項
5.6.7 .SMPの効果
5.7データベース監視
5.7.1 .統計情報収集器
5.7.2 .ロックの監視
5.8レプリケーションの利用
5.8.1 .pgpoolの仕組み
5.8.2 .縮退運転
5.8.3 .コネクションプール
5.8.4 .pgpoolのインストール
5.8.5 .pgpoolの設定
5.8.6 .pgpoolの起動
5.8.7 .pgpoolの利用
5.8.8 .pgpoolの状態確認
5.8.9 .pgpoolの利用上の注意
5.8.10 .オーバーヘッド
5.8.11 .他のレプリケーションソフト
Appendix App.1 参考文献 App.2 付属CD-ROMについて
石井達夫 著 / B5変形判 / 416ページ
ISBN4-7741-2056-1 / 2004年6月28日発売
CD:1枚
定価3444円(本体3280円)
目次
Chapter1 Introduction~PostgreSQLの世界へようこそ
1.1PostgreSQLとは
1.1.1 .データベースとは
1.1.2 .オープンソースデータベースPostgreSQL
1.2PostgreSQLの歴史
1.2.1 .Ingres
1.2.2 .postgres
1.2.3 .postgresの終焉
1.2.4 .postgres95
1.2.5 .PostgreSQLの誕生
1.2.6 .日本語対応と国際化
1.2.7 .PostgreSQLクロニクル
1.3PostgreSQLの特徴
1.3.1 .SQLのサポート
1.3.2 .無償利用&ソースコードの公開
1.3.3 .数多くのプラットフォームで稼動
1.3.4 .多彩なプログラミングインターフェイスをサポート
1.3.5 .クライアント/サーバアーキテクチャ
1.3.6 .日本語化&国際化対応(マルチバイトサポート)
1.3.7 .ユーザ定義関数
1.3.8 .ユーザ定義データ型
1.3.9 .リレーショナルデータモデルを超えるオブジェクト指向機能
1.3.10 .PostgreSQLが扱うことのできる各種上限値
Chapter2 Instrallation~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 .postmasterの終了
2.5.4 .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の起動オプション
Chapter3 Learning PostgreSQL~PostgreSQLをより深く知る
3.1PostgreSQLのプロセス&モジュール構造
3.1.1 .PostgreSQLを構成するプロセス
3.1.2 .PostgreSQLのモジュール構造
3.1.3 .PostgreSQLのデータ構造
3.2PostgreSQLのソースツリー
3.3PostgreSQLの問い合わせ言語
3.4PostgreSQLの問い合わせ言語
3.4.1 .概要
3.4.2 .数値データ型
3.4.3 .文字列データ型
3.4.4 .日付データ型
3.4.5 .バイナリデータ型
3.4.6 .その他のデータ
3.4.7 .その他の関数
3.4.8 .配列
3.4.9 .ラージオブジェクト
3.5PostgreSQLの問い合わせ言語
3.5.1 .スキーマ
3.5.2 .制約
3.5.3 .デフォルト値
3.5.4 .シーケンスとシリアル型
3.5.5 .ドメイン
3.5.6 .一時テーブル
3.5.7 .CREATE TABLE AS
3.5.8 .ALTER TABLE
3.6PostgreSQLの問い合わせ言語
3.6.1 .ビュー
3.6.2 .ビューの有用性
3.6.3 .PostgreSQLのビューの制限
3.6.4 .ルール
3.6.5 .更新可能なビュー
3.6.6 .ルールの利用性
3.6.7 .ルールとトリガ
3.7PostgreSQLの問い合わせ言語
3.7.1 .相関名
3.7.2 .DISTINCT
3.7.3 .SELECT ...INFO
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 .ALL/ANY/SOME
3.7.12 .UNION
3.7.13 .INTERSECT/EXCEPT
3.7.14 .結合(JOIN)
3.7.15 .カーソル
3.7.16 .PREPAREとEXECUTE
3.8PostgreSQLの問い合わせ言語
3.8.1 .はじめに
3.8.2 .CREATE FUNCTION
3.8.3 .SQL関数
3.8.4 .PL/pgSQL関数
3.9PostgreSQLの問い合わせ言語
3.9.1 .インデックスとは
3.9.2 .CREATE INDEX/DROP INDEX文
3.9.3 .VACUUM
3.9.4 .関数インデックス
3.9.5 .式インデックス
3.9.6 .複合インデックス
3.9.7 .部分インデックス
3.9.8 .インデックスと CLUSTERコマンド
3.10 PostgreSQLの問い合わせ言語
3.10.1 .トリガの定義
3.10.2 .トリガ用関数の定義
3.11PostgreSQLの問い合わせ言語
3.11.1 .トランザクションとは
3.11.2 .トランザクションの開始/終了
3.11.3 .トランザクションの特性
3.11.4 .トランザクションの利用例
3.11.5 .トランザクションの分離レベル
3.11.6 .MVCC
3.11.7 .トランザクションの同時実行制御
3.11.8 .ロックモード
3.11.9 .デッドロック
3.11.10 .一時テーブルとトランザクション
3.12PostgreSQLの問い合わせ言語
3.12.1 .外部キー
3.12.2 .参照整合性制約
3.12.3 .参照操作
3.12.4 .NULLの扱いとMATCHオプション
3.12.5 .参照整合性チェックの遅延
3.12.6 .参照整合性制約の追加/削除
3.12.7 .まとめ
3.13PostgreSQLの問い合わせ言語
3.13.1 .インフォメーションスキマーとは
3.13.2 .PostgreSQLにおけるインフォメーションスキマー
3.13.3 .インフォメーションスキマーで使われるデータ型
3.13.4 .インフォメーションスキマーの構成要素
Chapter4 Making Applications~PostgreSQLアプリケーションを作成する
4.1アプリケーション作成の前に
4.1.1 .アプリケーションの概要
4.1.2 .テーブル定義について
4.1.3 .データのPostgreSQLへの取り込み
4.1.4 .名詞管理アプリケーションの使い方
4.1.5 .注意事項
4.2PHPインターフェイスを使って
4.2.1 .PHPとは
4.2.2 .PEARとは
4.2.3 .Smartyとは
4.2.4 .PHPなどの導入
4.2.5 .アプリケーションの導入
4.2.6 .アプリケーションの起動
4.2.7 .ソースコードの解説
4.2.8 .ドキュメントについて
4.3Perlインターフェースを使って
4.3.1 .PostgreSQLとPerl
4.3.2 .DBD-Pgとは
4.3.3 .DBIとDBD-Pgの導入
4.3.4 .CGIとTemplate
4.3.5 .アプリケーションの導入
4.3.6 .アプリケーションの起動
4.3.7 .ソースコードの解説
4.3.8 .ドキュメントについて
Chapter5 Managing PostgreSQL~PostgreSQLの管理
5.1PostgreSQLの管理とは
5.2セキュリティ管理
5.2.1 .pg_hba.conf
5.2.2 .ユーザ単位の認証
5.2.3 .GRANTによるアクセス権限の付与
5.2.4 .REVOKEによるアクセス権限の剥奪
5.2.5 .アクセス権限の確認
5.2.6 .SSLによる通信経路の暗号化
5.3ログ管理
5.3.1 .syslogの設定
5.3.2 .postgresql.confの設定
5.3.3 .syslog以外へのログの取得
5.4バックアップとリストア
5.4.1 .データベースのバックアップ
5.4.2 .バックアップの方法
5.4.3 .バックアップの実際~pg_dumpとpg_dumppall
5.5VACUUM
5.5.1 .VACUUMによる不要領域の再利用
5.5.2 .トランザクションカウンタのオーバフローへの対処
5.5.3 .VACUUM FULL
5.6パフォーマンスチューニング
5.6.1 .メモリ資源
5.6.2 .大規模ユーザ数への対応
5.6.3 .WAL
5.6.4 .EXPLAINコマンドを理解する
5.6.5 .VACUUMによる統計情報の更新
5.6.6 .クエリの書き方における注意事項
5.6.7 .SMPの効果
5.7データベース監視
5.7.1 .統計情報収集器
5.7.2 .ロックの監視
5.8レプリケーションの利用
5.8.1 .pgpoolの仕組み
5.8.2 .縮退運転
5.8.3 .コネクションプール
5.8.4 .pgpoolのインストール
5.8.5 .pgpoolの設定
5.8.6 .pgpoolの起動
5.8.7 .pgpoolの利用
5.8.8 .pgpoolの状態確認
5.8.9 .pgpoolの利用上の注意
5.8.10 .オーバーヘッド
5.8.11 .他のレプリケーションソフト
Appendix App.1 参考文献 App.2 付属CD-ROMについて
※コメント投稿者のブログIDはブログ作成者のみに通知されます