II. SQL 语言

这一部分描述 PostgreSQL 里面 SQL 语言的使用。我们从描述 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. 依赖性跟踪
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. Arrays
8.16. 复合类型
8.17. 范围类型
8.18. 对象标识符类型
8.19. 伪类型
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. UNION, CASE 和相关构造
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. 检查索引的使用
12. 全文检索
12.1. 介绍
12.2. 表和索引
12.3. 控制文本搜索
12.4. 附加功能
12.5. 解析器
12.6. 词典
12.7. 配置实例
12.8. 测试和调试文本搜索
12.9. GiST和GIN索引类型
12.10. psql支持
12.11. 限制
12.12. 来自8.3之前文本搜索的迁移
13. 并发控制
13.1. 介绍
13.2. 事务隔离
13.3. 明确封锁
13.4. 应用层数据完整性检查
13.5. 锁和索引
14. 性能提升技巧
14.1. 使用EXPLAIN
14.2. 规划器使用的统计信息
14.3. 用明确的JOIN控制规划器
14.4. 向数据库中添加记录
14.5. 非持久性设置