从这里开始
新人用 90 分钟建立 PostgreSQL 的正确心智模型
完成这条路线后,你应该能启动实例、用 psql 连接、设计一张有约束的表、在事务里修改数据,并用 EXPLAIN 判断查询是否走了预期路径。
先记住五件事
- 实例(cluster)里有多个 database,database 里有 schema,schema 里有表、视图和函数。
- 客户端连接的是一个具体 database;跨 database 查询不像跨 schema 查询那样直接。
- 每条语句都在事务中运行。未显式
BEGIN时,客户端通常为单条语句自动提交。 - 约束是数据模型的一部分,不只是应用层校验的备份。
- 索引有写入与维护成本;创建前后都要看真实执行计划。
90 分钟路线
0–10 分钟:运行并连接
完成 快速开始,保留一个名为 pg-guide 的本地容器。
10–30 分钟:建立模型
阅读 数据建模,创建 customers 和 orders,使用主键、外键、CHECK、NOT 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