Advanced ReferenceシリーズPostgreSQL 全機能リファレンス

[表紙]PostgreSQL 全機能リファレンス

紙版発売

A5判/544ページ

定価3,278円(本体2,980円+税10%)

ISBN 4-7741-1811-7

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

使いこなすためのテクニックやコマンド,SQLを読みやすく調べやすいリファレンス形式で紹介しています。コマンドのオプション解説や内部構造に関する解説,チューニングテクニックの解説に関しても,その詳細さは他に類をみません。まさに「史上最も詳しい」解説書です。

こんな方におすすめ

  • PostgreSQLを使いこなしたい方
  • PostgreSQLを使ったアプリケーションを開発したい方

目次

Chapter1 PostgreSQLの基礎知識

  • PostgreSQLとは
    • Introduction PostgreSQLとは
  • PostgreSQLの概要
    • Introduction PostgreSQLの機能
  • データベースシステムの構造
    • Introduction データベース,テーブル,スキーマとは
    • Introduction データベースユーザ,グループ,データベースシステムとは
    • Introduction データベースクラスタとは
    • Introduction システムカタログとは
    • Introduction 文字コードの扱い
    • Introduction アクセス方法

Chapter2 PostgreSQLの内部構造

  • プロセスとメモリ
    • Introduction プロセス構造
    • Introduction メモリ
  • データ処理
    • Introduction 問い合わせ処理の流れ
    • Introduction プランナ
  • データ管理
    • Introduction データ管理
    • Introduction トランザクションID(XID)の管理
  • トランザクション,ロック
    • Introduction トランザクションの隔離とは
    • Introduction ロックとは
  • WAL
    • Introduction WALとは(Write Ahead Logging)
    • Introduction WALの詳細

Chapter3 インストールと環境設定

  • インストール
    • Setup インストールするために必要なこと
    • Setup インストール
  • 環境設定
    • Setup 環境変数の設定

Chapter4 データベースサーバ管理

  • 初期化,起動から運用保守まで
    • Introduction 初期化,起動から運用保守までの流れ
  • データベースの初期化
    • Command データベースシステムの初期化 initdb
  • PostgreSQLの起動 / 停止
    • Introduction PostgreSQLサーバの起動 / 停止
    • Command PostgreSQLサーバの起動 pg_ctl start
    • Command PostgreSQLサーバの停止 pg_ctl stop
    • Setup PostgreSQLをデーモンとして起動する
  • データベースの作成/削除
    • Command データベース作成 createdb
    • Command データベース削除 dropdb
  • データベースユーザ管理
    • Command データベースユーザの登録 createuser
    • Command データベースユーザの削除 dropuser
    • Introduction 保守
    • Command 不要なデータ領域を回収するには vacuumdb
    • Setup 定期的にvacuumdbコマンドを実行するには
  • postgresql.confの設定
    • Introduction postgresql.confの設定
    • Setup 接続パラメータの設定
    • Setup 共有メモリ/非共有メモリの設定
    • Setup WALの設定
    • Setup オプティマイザと統計情報収集の設定
    • Setup Syslogと情報表示の設定
    • Setup Misc section(その他)の設定
  • クライアントのアクセス制御とセキュリティ対策
    • Setup クライアントのアクセス制御
    • Setup パスワード認証の設定
    • Setup SSHトンネリングを使ったアクセス
    • Setup SSLによるアクセス
  • データベースのダンプ / リストア
    • Introduction データベースのダンプ / リストア(再構築)
    • Command データベースのダンプ pg_dump
    • Command データベースのリストア pg_restore
    • Command データベースシステムのダンプ pg_dumpall
    • Column ラージオブジェクトを含むデータベースシステムのダンプとリストア
  • 日本語の扱い
    • Setup 日本語の扱い
  • データベースシステム調整のヒント
    • Introduction データベースシステム調整のヒント
    • Technique データベースシステムの統計情報の収集と表示
    • Technique SQL文の情報表示
    • Technique 共有バッファサイズとFSMサイズの調整
    • Technique WAL関連の実行時パラメータ調整

Chapter5 対話型インタフェースpsqlの使い方

  • psqlの基本的な使い方
    • Introduction psqlの基本的な使い方
    • Column psql起動オプションのQuick Reference
    • Column メタコマンドのQuick Reference
  • 起動オプション
    • Command PostgreSQLサーバとの接続/切断 psql
    • Command 表示の制御 psql
    • Command SQL文の実行(バッチ処理) psql
    • Command 情報表示 psql
    • Command 実行制御 psql
    • Command その他 psql
  • メタコマンド
    • Command 再接続と切断
    • Command 表示の制御
    • Command 表示の制御 \pset
    • Command 内部変数の設定/解除
    • Command バッチファイルの実行 \i
    • Command 実行結果の保存
    • Command 情報表示
    • Command ラージオブジェクトの扱い
    • Command データのコピー \copy
    • Command その他のメタコマンド

Chapter6 SQL 177

  • SQL概要
    • Introduction SQLコマンド一覧
    • Introduction SQL語彙
  • データベースの生成 / 削除
    • SQL データベースの作成 CREATE DATABASE
    • SQL データベース内部変数の変更 ALTER DATABASE
    • SQL データベースの削除 DROP DATABASE
  • テーブルの作成 / 削除
    • SQL テーブルの作成 CREATE TABLE
    • Column オブジェクトの継承
    • SQL 問い合わせ結果から新しいテーブルを作成 CREATE TABLE AS
    • SQL テーブルの削除 DROP TABLE
    • SQL ドメインの定義と削除 CREATE DOMAIN / DROP DOMAIN
    • SQL スキーマの定義と削除 CREATE SCHEMA / DROP SCHEMA
    • Column スキーマを利用するときの注意点 FROM
  • テーブル属性の更新
    • Introduction テーブル属性の更新
    • SQL 列の追加 ALTER TABLE ADD COLUMN
    • SQL 列の属性変更 ALTER TABLE ALTER
    • SQL 列の削除 ALTER TABLE DROP
    • SQL テーブル名称の変更 ALTER TABLE RENAME
    • SQL 制約条件の追加と削除 ALTER TABLE ADD CONSTRAINT / ALTER TABEL DROP CONSTRAINT
    • SQL テーブル所有者の変更 ALTER TABLE OWNER
  • ユーザ管理と権限の制御
    • SQL データベースユーザの登録 CREATE USER
    • SQL データベースユーザの削除 DROP USER
    • SQL ユーザアカウント情報の変更 ALTER USER
    • SQL グループの作成 CREATE GROUP
    • SQL グループの削除 DROP GROUP
    • SQL グループの更新 ALTER GROUP
  • アクセス権限の付与と取り上げ
    • SQL アクセス権限の付与 GRANT
    • SQL アクセス権限の取り上げ REVOKE
  • データの挿入
    • SQL データの挿入 INSERT
  • テーブルの検索(SELECT)
    • Introduction テーブルの検索(SELECT文の書式)
    • SQL テーブルの指定 FROM句(SELECT)
    • SQL 検索条件の指定 WHERE句(SELECT)
    • SQL グループ化 GROUP BY句,HAVING句(SELECT)
    • SQL 重複する行を削除 DISTINCT(SELECT)
    • SQL テーブル結合 CROSS JOIN,JOIN(SELECT)
    • SQL 問い合わせの結合 UNION,INTERSECT,EXCEPT(SELECT)
    • SQL 検索結果の並び替え ORDER BY句(SELECT)
    • SQL 検索結果の出力範囲を指定 LIMIT句,OFFSET句(SELECT)
    • SQL 選択された行に対するロック FOR UPDATE句(SELECT)
    • SQL 副問い合わせ(SELECT,DELETE,UPDATE)
    • SQL CASE式(SELECT)
  • データの更新
    • SQL データの更新 UPDATE
  • データの削除
    • SQL データの削除 DELETE
    • SQL テーブルの全データ削除 TRUNCATE
  • インデックス
    • SQL インデックスの作成 CREATE INDEX
    • Column インデックスのアクセスメソッド
    • SQL インデックスの削除
  • ビュー
    • SQL ビュー(VIEW)の定義と削除 CREATE VIEW / DROP VIEW
  • シーケンス
    • SQL シーケンスの作成と削除 CREATE SEQUENCE / DROP SEQUENCE
  • トリガ
    • SQL トリガの定義と変更と削除 CREATE TRIGGER / ALTER TRIGGER / DROP TRIGGER
  • カーソル
    • Introduction カーソルの利用
    • SQL カーソルの定義と削除 DECLARE / CLOSE
    • SQL 行の取得 FETCH
    • SQL カーソル位置の移動 MOVE
  • 動的なSQL文
    • SQL 動的なSQL文の実行 PREPARE / EXECUTE
  • トランザクション
    • SQL トランザクション BEGIN | START TRANSACTION / COMMIT | END / ABORT | ROOLBACK
    • SQL トランザクションの隔離レベル設定 SET TRANSACTION ISOLATION LEVEL / SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL
    • SQL 制約モード設定 SET CONSTRAINTS
    • SQL ロック LOCK
  • 実行時パラメータの設定と表示
    • SQL 実行時パラメータの設定 SET
    • SQL 実行時パラメータの表示 SHOW
    • SQL 実行時パラメータ値をデフォルト値に戻す RESET
  • 不要なデータ領域の回収と統計情報集計
    • SQL 不要なデータ領域の回収と統計情報集計 VACUUM
    • SQL データベースの統計情報集計 ANALYZE
    • SQL 問い合わせ実行計画の表示 EXPLAIN
    • Column EXPLAIN文の出力値
  • データのコピー
    • SQL ファイルからテーブルへ(インポート) COPY FROM
    • SQL テーブルからファイルへ(エクスポート) COPY TO
  • 書き換えルール
    • SQL 書き換えルールの定義と削除 CREATE RULE / DROP RULE
  • 関数の定義と削除
    • SQL 関数の定義 CREATE FUNCTION
    • SQL 関数の削除 DROP FUNCTION
  • 言語の定義と削除
    • SQL 言語の定義と削除 CREATE LANGUAGE / DROP LANGUAGE
  • データ型の定義と削除
    • SQL データ型の定義と削除 CREATE TYPE / DROP TYPE
  • ユーザ演算子の定義と削除
    • SQL ユーザ演算子の定義と削除 CREATE OPERATOR / DROP OPERATOR

Chapter7 データ型,演算子と関数

  • データ型
    • Introduction PostgreSQLがサポートするデータ型
    • SQL 数値データ型
    • SQL 文字データ型
    • SQL 日付 / 時刻データ型
    • Column 日付 / 時刻表示形式とタイムゾーンの設定
    • SQL ブーリアン型
    • SQL 幾何データ型
    • SQL ネットワークアドレスデータ型
    • SQL ビット列データ型
    • SQL 疑似データ型(Pseudo-Types)
    • Column 配列
  • 演算子
    • Introduction 演算子
    • SQL 論理演算子
    • SQL 比較演算子
    • SQL 算術演算子
    • SQL 幾何演算子
    • SQL ネットワークアドレス型演算子
    • SQL 文字列演算子
    • Column パターンマッチング
    • SQL 日付 / 時刻演算子
  • 関数
    • SQL 算術関数
    • SQL 集約関数
    • SQL 文字列関数
    • SQL 日付 / 時刻型関数
    • SQL 幾何関数
    • SQL ネットワークアドレス型関数
    • SQL 型変換関数

Chapter8 PL/pgSQLによるストアドプロシージャ

  • 概要
    • Setup PL/pgSQLの利用手順
    • Introduction PL/pgSQLによるストアドプロシージャの書式
    • Introduction 字句の表記
  • プログラミングの基本
    • PL/pgSQL ストアドプロシージャの変数宣言
    • Column ストアドプロシージャ内における定数解釈のタイミング
    • PL/pgSQL SELECT INTO文
    • PL/pgSQL 関数,SQL文の実行
    • PL/pgSQL 動的なSQL文の実行
    • PL/pgSQL 結果ステータスの取得
    • PL/pgSQL エラーとメッセージ
  • 制御構造
    • PL/pgSQL IF条件分岐
    • PL/pgSQL ループ処理 EXIT
    • PL/pgSQL ループ処理 LOOP
    • PL/pgSQL ループ処理 WHILE
    • PL/pgSQL ループ処理 FOR
    • PL/pgSQL ループ処理(複数行の問い合わせ結果を扱う)
  • カーソル
    • PL/pgSQL PL/pgSQL内でのカーソルの利用
    • PL/pgSQL カーソル変数の宣言
    • PL/pgSQL カーソルのオープンとクローズ OPEN / CLOSE
    • PL/pgSQL FETCH文によるカーソル行の取得 FETCH
    • PL/pgSQL カーソルを使った例

Chapter9 プログラミングインタフェース

  • Perl概要
    • Introduction PerlとDBI,DBD
    • Setup DBI,DBDインストール
  • Perlプログラミング
    • Introduction DBIクラスメソッド一覧
    • Programming Perlプログラミング(接続 / 切断)
    • Programming Perlプログラミング(SQL文の準備と実行)
    • Programming Perlプログラミング(結果取得)
    • Programming Perlプログラミング(エラー検査)
    • Programming Perlプログラミング(トランザクション)
  • Ruby概要
    • Setup Rubyとruby-postgres
  • Rubyプログラミング
    • Programming ruby-postgresインタフェース
    • Programming Rubyプログラミング(接続 / 切断)
    • Programming Rubyプログラミング(SQL文の実行)
    • Programming Rubyプログラミング(結果取得)
    • Programming Rubyプログラミング(エラー検査)
  • PHP概要
    • Setup PHP
  • PHPプログラミング
    • Programming PHPのPostgreSQL用インタフェース
    • Programming PHPプログラミング(接続 / 切断)
    • Programming PHPプログラミング(SQL文の実行)
    • Programming PHPプログラミング(結果取得)
    • Programming PHPプログラミング(エラー検査)

著者プロフィール

鈴木啓修(すずき☆ひろのぶ)

某電器メーカの研究員を皮切りにエンジニアとしてのキャリアを重ねる。

InterDB代表。現在はプログラム検証,並行処理や分散システムに興味がある。そろそろRDBMSに飽きてきた。

なんちゃって情報工学修士。JEM7弾き。兎飼い,猫飼い。自転車乗り。老後はスペインでBar三昧の予定。田舎にうさぎ牧場を作るのが夢。