PostgreSQL Field Guide

从这里开始

新人用 90 分钟建立 PostgreSQL 的正确心智模型

完成这条路线后,你应该能启动实例、用 psql 连接、设计一张有约束的表、在事务里修改数据,并用 EXPLAIN 判断查询是否走了预期路径。

先记住五件事

  1. 实例(cluster)里有多个 database,database 里有 schema,schema 里有表、视图和函数。
  2. 客户端连接的是一个具体 database;跨 database 查询不像跨 schema 查询那样直接。
  3. 每条语句都在事务中运行。未显式 BEGIN 时,客户端通常为单条语句自动提交。
  4. 约束是数据模型的一部分,不只是应用层校验的备份。
  5. 索引有写入与维护成本;创建前后都要看真实执行计划。

90 分钟路线

0–10 分钟:运行并连接

完成 快速开始,保留一个名为 pg-guide 的本地容器。

10–30 分钟:建立模型

阅读 数据建模,创建 customersorders,使用主键、外键、CHECKNOT NULL 和唯一约束表达事实。

30–50 分钟:查询数据

阅读 查询工具箱,练习过滤、连接、聚合、CTE 和窗口函数。每个查询都明确列名,避免在持久接口里使用 SELECT *

50–70 分钟:理解并发

阅读 事务与并发。在两个 psql 会话中观察 READ COMMITTED,再用 SELECT ... FOR UPDATE 保护一次余额修改。

70–90 分钟:验证性能

阅读 索引与 EXPLAIN。先运行 EXPLAIN (ANALYZE, BUFFERS),再创建索引并对比;不要把“出现 Seq Scan”自动判定为问题。

你的完成标准

SELECT version();
SELECT current_database(), current_user;
SELECT schemaname, tablename
FROM pg_catalog.pg_tables
WHERE schemaname NOT IN ('pg_catalog', 'information_schema');

你能解释这三条查询的输出,并知道如何安全地删除练习容器,就已经完成第一阶段。

不要跳过恢复练习

“已经生成备份文件”不等于“能够恢复”。进入生产运维路线后,至少做一次恢复到空数据库的演练。

Last updated on

On this page