パート II. SQL言語

ここでは、PostgreSQLSQL言語を使用する方法を説明します。 まず最初にSQL構文全般について述べ、データを保持する構造の作成方法、データベースに登録する方法、そして、データベースへの問い合わせを行う方法について説明していきます。 本パートの中盤では、SQLコマンドで使用可能なデータ型と関数を紹介します。 そして残りの部分では、最適な性能を実現するためにデータベースを調整する際に重要となるいくつかの点について説明します。

ここでの内容は、初心者のユーザでも先のページを何度も参照することなく、最初から最後まで全てのトピックを理解できるような構成になっています。 各章ごとに内容が独立していますので、上級ユーザは必要な章だけを選んで読むことができます。 ここではトピックに関する説明が中心となっていますので、特定のコマンドの完全な記述が必要なユーザはパートVI「リファレンス」を参照してください。

対象読者は、PostgreSQLデータベースへの接続およびSQLコマンド発行の方法を知っているユーザです。 まだこれらについて慣れていないユーザは、本書の前にパートI「チュートリアル」をお読みになることをお勧めします。 SQLコマンドは通常PostgreSQLの対話式端末psqlを使用して入力しますが、同様の機能を備えた他のプログラムも使用することができます。

目次

4. SQLの構文
4.1. 字句の構造
4.2. 評価式
4.3. 関数呼び出し
5. データ定義
5.1. テーブルの基本
5.2. デフォルト値
5.3. 制約
5.4. システム列
5.5. テーブルの変更
5.6. 権限
5.7. 行セキュリティポリシー
5.8. スキーマ
5.9. 継承
5.10. パーティショニング
5.11. 外部データ
5.12. その他のデータベースオブジェクト
5.13. 依存関係の追跡
6. データ操作
6.1. データの挿入
6.2. データの更新
6.3. データの削除
7. 問い合わせ
7.1. 概要
7.2. テーブル式
7.3. 選択リスト
7.4. 問い合わせの結合
7.5. 行の並べ替え
7.6. LIMITOFFSET
7.7. VALUESリスト
7.8. WITH問い合わせ(共通テーブル式)
8. データ型
8.1. 数値データ型
8.2. 通貨型
8.3. 文字型
8.4. バイナリ列データ型
8.5. 日付/時刻データ型
8.6. 論理値データ型
8.7. 列挙型
8.8. 幾何データ型
8.9. ネットワークアドレス型
8.10. ビット列データ型
8.11. テキスト検索に関する型
8.12. UUID
8.13. XML
8.14. JSONデータ型
8.15. 配列
8.16. 複合型
8.17. 範囲型
8.18. オブジェクト識別子データ型
8.19. pg_lsn 型
8.20. 疑似データ型
9. 関数と演算子
9.1. 論理演算子
9.2. 比較関数および演算子
9.3. 算術関数と演算子
9.4. 文字列関数と演算子
9.5. バイナリ文字列関数と演算子
9.6. ビット文字列関数と演算子
9.7. パターンマッチ
9.8. データ型書式設定関数
9.9. 日付/時刻関数と演算子
9.10. 列挙型サポート関数
9.11. 幾何関数と演算子
9.12. ネットワークアドレス関数と演算子
9.13. テキスト検索関数と演算子
9.14. XML関数
9.15. JSON関数と演算子
9.16. シーケンス操作関数
9.17. 条件式
9.18. 配列関数と演算子
9.19. 範囲関数と演算子
9.20. 集約関数
9.21. ウィンドウ関数
9.22. 副問い合わせ式
9.23. 行と配列の比較
9.24. 集合を返す関数
9.25. システム情報関数
9.26. システム管理関数
9.27. トリガ関数
9.28. イベントトリガ関数
10. 型変換
10.1. 概要
10.2. 演算子
10.3. 関数
10.4. 値の格納
10.5. UNIONCASEおよび関連する構文
11. インデックス
11.1. 序文
11.2. インデックスの種類
11.3. 複数列インデックス
11.4. インデックスとORDER BY
11.5. 複数のインデックスの組み合わせ
11.6. 一意インデックス
11.7. 式に対するインデックス
11.8. 部分インデックス
11.9. 演算子クラスと演算子族
11.10. インデックスと照合順序
11.11. インデックスオンリースキャン
11.12. インデックス使用状況の検証
12. 全文検索
12.1. 導入
12.2. テーブルとインデックス
12.3. テキスト検索の制御
12.4. 追加機能
12.5. パーサ
12.6. 辞書
12.7. 設定例
12.8. テキスト検索のテストとデバッグ
12.9. GINおよびGiSTインデックス種類
12.10. psqlサポート
12.11. 制限事項
12.12. 8.3以前のテキスト検索からの移行
13. 同時実行制御
13.1. 序文
13.2. トランザクションの分離
13.3. 明示的ロック
13.4. アプリケーションレベルでのデータの一貫性チェック
13.5. 警告
13.6. ロックとインデックス
14. 性能に関するヒント
14.1. EXPLAINの利用
14.2. プランナで使用される統計情報
14.3. 明示的なJOIN句でプランナを制御する
14.4. データベースへのデータ投入
14.5. 永続性がない設定
15. パラレルクエリ
15.1. パラレルクエリはどのように動くのか
15.2. どのような時にパラレルクエリは使用できるのか?
15.3. パラレルプラン
15.4. パラレル安全