七、SQL、数据类型与对象
PostgreSQL 的类型系统远比“标准 SQL 类型”丰富:除数值/字符/时间外,还有 jsonb、数组、范围、枚举、uuid 等,并支持自定义类型。本章讲清类型选择原则、半结构化类型(jsonb/数组/范围)的正确用法,以及库对象(schema、序列、生成列、约束、视图、函数、触发器)的设计要点。核心纪律:类型选择直接影响存储、索引与查询语义,不能只看“能存下”。
本章目录
学习目标
- 依据语义、存储与索引需求选择合适类型(如
numericvsfloat、timestamptzvstimestamp、textvsvarchar) - 正确使用
jsonb/数组/范围并为其建 GIN/GiST 索引 - 设计 schema、序列/标识列、生成列与各类约束
- 理解视图/物化视图与函数波动性(volatility)对优化与正确性的影响
