PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

Part II. SQL 语言

本篇阐述 SQL 语言在 PostgreSQL 中的使用实践。我们从 SQL 的基本语法讲起,依次介绍如何创建数据表、如何插入数据以及如何进行数据查询。中间章节系统梳理了可用于各类 SQL 命令的内置数据类型与函数库。最后,深入剖析了数据库性能调优的若干关键维度。

内容编排旨在使初学者能够自始至终循序渐进地阅读,无需频繁跨章节前置查阅即可建立完整的技术理解。各个章节彼此具备独立完整性,进阶读者完全可以根据实际需要单独查阅特定章节。全篇内容以专题形式展开叙述;如需查询特定命令的完整语法规范,建议查阅 Part VI。

读者应已掌握如何连接到 PostgreSQL 数据库并执行基本的 SQL 命令。尚不熟悉这些基础操作的读者,建议先阅读 Part I。SQL 命令通常通过 PostgreSQL 官方交互式终端 psql 输入执行,其他具备类似功能的数据库客户端亦可通用。

Table of Contents

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. 外部数据
5.14. 其他数据库对象
5.15. 依赖关系跟踪
6. 数据操作
6.1. 插入数据
6.2. 更新数据
6.3. 删除数据
6.4. 从修改的行中返回数据
7. 查询
7.1. 概述
7.2. 表表达式
7.3. 选择列表
7.4. 组合查询
7.5. 排序行
7.6. LIMIT 与 OFFSET
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. 对象标识符类型
8.20. pg_lsn 类型
8.21. 伪类型
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. UUID 函数
9.15. XML 函数
9.16. JSON 函数与操作符
9.17. 序列操作函数
9.18. 条件表达式
9.19. 数组函数与操作符
9.20. 范围与多重范围函数及操作符
9.21. 聚合函数
9.22. 窗口函数
9.23. MERGE 支持函数
9.24. 子查询表达式
9.25. 行与数组比较
9.26. 表函数与返回集合的函数
9.27. 系统信息函数与操作符
9.28. 系统管理与维护函数
9.29. 触发器函数
9.30. 事件触发器函数
9.31. 统计信息函数
10. 类型转换
10.1. 概述
10.2. 运算符
10.3. 函数
10.4. 值存储
10.5. UNION、CASE 及相关结构
10.6. SELECT 输出列
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. 限制说明
13. 并发控制
13.1. 简介
13.2. 事务隔离
13.3. 显式锁定
13.4. 应用层数据一致性检查
13.5. 串行化失败处理
13.6. 注意事项
13.7. 锁定与索引
14. 性能优化指南
14.1. 使用 EXPLAIN
14.2. 优化器使用的统计信息
14.3. 用显式连接子句控制规划器
14.4. 批量数据加载
14.5. 非持久性设置
15. 并行查询
15.1. 并行查询的工作原理
15.2. 何时可以使用并行查询?
15.3. 并行执行计划
15.4. 并行安全性