新標準PostgreSQL


新標準PostgreSQL (オープンソースRDBMSシリーズ)


ソフトバンククリエイティブ


著者:高塚遙、松田亮一、田中ナルミ、吉岡肇
監修:SRA OSS日本支社


CHAPTER 1 データベースの基礎知識
1-1 RDBMS概説
1-1-1 RDBMS
1-1-2 オブジェクト・リレーショナルデータベース
正規化
1-2 SQLの文法
1-2-1 SQLとは
1-2-2 データ定義言語(DDL:Data Definition Language)
1-2-3 データ制御言語(DCL:Data Control Language)
1-2-4 データ操作言語(DML:Data Manipulate Language)
1-2-5 レコードの取り出し
1-2-6 テーブルの結合
1-3 ビューについて
1-3-1 ビューでできること
1-4 トランザクション
1-4-1 トランザクションの方法
1-4-2 トランザクションの隔離レベル
1-5 PostgreSQLを使う理由

CHAPTER 2 システムのスタートアップ(Windows編)
2-1 PostgreSQLのインストール
2-1-1 インストールの実施
2-1-2 初期設定の実施
2-1-3 設定ファイル
COLUMN Windows版インストーラでうまくいかないケース

CHAPTER 3 システムのスタートアップ(Linux編)
3-1 PostgreSQLのインストール
3-1-1 インストールの実施
3-1-2 環境変数の設定およびデータベースの初期化
3-1-3 設定ファイル

CHAPTER 4 PostgreSQLひとめぐり
4-1 データベースの準備
4-1-1 サーバーに接続しよう
4-1-2 ユーザーを作成しよう
4-1-3 データベースを作成しよう
4-1-4 データベースクラスタとは?
4-1-5 サーバーを停止するには?
4-2 テーブル操作ひとめぐり
4-2-1 SQLを実行する
4-2-2 テーブルを作成する
4-2-3 レコードを追加する
4-2-4 条件をつけてレコードを検索する
4-2-5 レコードをソートする
4-2-6 集約関数を使う
4-2-7 レコードを更新する
4-2-8 レコードを削除する
4-2-9 テーブルを削除する
4-3 SQL文法のまとめ
4-3-1 SQL文
4-3-2 コメント
4-3-3 識別子
4-3-4 定数値
COLUMN psql〜WindowsとLinuxの違いなど〜

CHAPTER 5 アプリケーションからDBをコントロールしよう
5-1 PHPによる接続
5-1-1 PHPひとめぐり
5-1-2 準備とソフトウェアの構成
5-1-3 データを取り出して一覧表示
5-1-4 データを検索する
5-1-5 データを追加する
5-1-6 データを更新する
5-1-7 データを削除する
5-2 Javaによる接続
5-2-1 JavaによるWebアプリケーション開発概要
5-2-2 サンプルプログラムの配備
5-2-3 サンプルプログラムをビルドする
5-2-4 データベースへアクセスする
5-2-5 全件検索する
5-2-6 条件検索する
5-2-7 追加する
5-2-8 変更する
5-2-9 削除する
5-2-10 まとめ
5-3 その他の言語からの接続
5-3-1 Perlからの接続
5-3-2 Pythonからの接続
5-3-3 .NETからの接続
5-3-4 Rubyからの接続

CHAPTER 6 PostgreSQLを使いこなす
6-1 テーブル定義いろいろ
6-1-1 カラムに制約をつける
6-1-2 外部キー制約
6-1-3 カラムのデフォルト値
6-1-4 インデックスを作る
6-1-5 スキーマを利用する
6-1-6 テーブル定義をあとから変更する
6-2 数値を扱う
6-2-1 数値のデータ型のいろいろ
6-2-2 演算子と算術関数
6-3 文字列を扱う
6-3-1 文字列を扱うデータ型
6-3-2 文字列を加工する
6-3-3 パターンマッチ
6-3-4 全文検索機能
6-4 日付時刻を扱う
6-4-1 日付時刻のデータ型
6-4-2 日付時刻の入出力
6-4-3 日付時刻を演算する
6-5 複雑な問い合わせをする
6-5-1 テーブルを結合する
6-5-2 副問い合わせ(サブクエリー)
6-5-3 問い合わせ結果を結合する
6-5-4 再問い合わせ
6-6 集計をする
6-6-1 集約関数各種
6-6-2 GROUP BY/HAVING
6-6-3 DISTINCT
6-6-4 ウィンドウ関数を使う
6-7 ビューとルール
6-7-1 ビューを定義する
6-7-2 ルールを定義する
6-8 トランザクションを設計する
6-8-1 トランザクションとは?
6-8-2 同時実行制御
6-9 権限を設定する
6-9-1 ロール
6-9-2 GRANT/REVOKE
6-10 落ち穂ひろい
6-10-1 COPY
6-10-2 PREPARE
6-10-3 カーソル
6-10-4 配列

CHAPTER 7 ユーザー定義関数
7-1 はじめに
7-1-1 これから使うテーブルとデータ
7-2 ユーザー定義関数の基本
7-2-1 簡単な例
7-2-2 関数定義の詳細
7-2-3 オーバーロードについて
7-2-4 関数定義の表示
7-3 PL/pgSQLの利用
7-3-1 PL/pgSQLに紹介
7-3-2 PL/pgSQLの利用準備
7-3-3 PL/pgSQLによる関数定義の基本
7-3-4 制御構造
7-4 トリガとトリガ関数について
7-4-1 トリガとは
7-4-2 トリガの登録
7-4-3 トリガの使用例

CHAPTER 8 Webアプリケーションを作る
8-1 書籍管理システムを作ろう(PHP)
8-1-1 システムの仕様
8-1-2 システムの構成
8-1-3 検索機能
8-1-4 コメント機能
8-1-5 書籍追加機能
8-1-6 まとめ
8-2 アンケートシステムを作ろう(Java)
8-2-1 アンケートシステムの概要
8-2-2 データベースの定義
8-2-3 Webアプリケーションの配備
8-2-4 データベースへアクセスする(コネクションプーリング)
8-2-5 アンケートに答える
8-2-6 アンケートを管理する
8-2-7 アンケートを登録する
8-2-8 アンケートを削除する
8-2-9 文字エンコーディング設定
8-2-10 Apacheとの連携
8-2-11 まとめ

CHAPTER 9 データベースの管理
9-1 接続の設定
9-1-1 postgresql.confによる接続条件の設定
9-1-2 pg_hba.confファイルの設定
9-2 バックアップを取る
9-2-1 オンラインバックアップ
9-2-2 ポイントインタイムリカバリ(PITR)による差分バックアップ
9-3 ログを取る
9-3-1 postgresql.confによるログ出力の設定
9-3-2 postgresql.confによるログ出力項目の設定
9-4 性能を維持する
9-4-1 ANALYZE
9-4-2 VACUUM
9-4-3 自動VACUUM
9-4-4 REINDEX

CHAPTER 10 パフォーマンスチューニング
10-1 VACCUM/ANALYZEしてますか?
10-1-1 VACUUMが十分に行われているかどうか確認する
10-1-2 ANALYZEが適切に行われているか確認する
10-2 設定ファイルでリソースを調整しよう
10-2-1 メモリの設定
10-2-2 データの書く込み方
10-3 実行プランを改善しよう
10-3-1 EXPLAINでSQLの実行プランを確認
10-3-2 実行プランを改善しよう
10-4 実行時統計情報を活用しよう
10-4-1 実行時統計情報の設定
10-4-2 現在の実行状態を取得
10-4-3 累積的な実行時統計情報
10-5 ディスク読み書きのチューニング
10-5-1 テーブルスペース機能とディスク分散
COLUMN pgbench
COLUMN generate_series関数
10-5-2 テーブルパーティショニングを使う

APPENDIX 1 各種設定情報 ~Java、PHP、Perl、Ruby~
A1-1 インストールと設定〜Windows編〜
A1-1-1 ApachePHPの操作
A1-1-2 サーブレット/JSP環境のインストール
A1-1-3 Ruby環境のインストール
A1-1-4 Perl環境のインストール
A1-1-5 Pyton環境のインストール
A1-1-6 .NET環境のインストール
A1-2 インストールと設定〜linux編〜
A1-2-1 Apacheのインストール
A1-2-2 PHPのインストール
A1-2-3 サーブレット/JSP環境のインストール
A1-2-4 Ruby環境のインストール
A1-2-5 Perl環境のインストール
A1-2-6 Pyton環境のインストール

APPENDIX 2 PostgreSQLで使えるツール群
A2-1 PostgreSQL用の外部ツール
A2-1-1 強力なGUI管理ツール PgAdminIII
A2-1-2 WebベースのPostgreSQL管理ツール phpPgAdmin
A2-1-3 データベースのレプリケーションツール Slony-I
A2-1-4 多機能コネクションプーリングツール pgpool/pgpool-II
A2-1-5 PostgreSQL関連ツールを開発、配布しているWebサイト

APPENDIX 3 バージョン8.4への移行
A3-1 PostgreSQLのバージョンアップ
A3-1-1 マイナーバージョンだけアップする場合
A3-1-2 メジャーバージョンをアップする
A3-1-3 停止時間をもっと短くしたい

APPENDIX 4 日本語の扱いについて
A4-1 PostgreSQLと文字エンコーディング
A4-1-1 PostgreSQLの文字エンコーディング処理
A4-1-2 Webアプリケーションでの文字エンコーディングの実際
COLUMN 文字セットとエンコーディング

APPENDIX 5 PostgreSQLの設定パラメータ一覧
A5-1 設定パラメータ
A5-1-1 postgresql.confで設定する
A5-1-2 postgresの引数で設定する
A5-1-3 SETコマンドで設定する
A5-1-4 パラメータ一覧

索引

書籍目次

Posted by shi-n