PostgreSQL
功能强大的开源关系型数据库,支持 ACID、MVCC、JSON/JSONB、GIS 等。
目录结构
| 模块 | 内容 |
|---|---|
| 部署 | Docker 部署、配置 |
| 建表设计 | 数据类型、索引、约束 |
| 查询优化 | SQL 优化、执行计划 |
| 高级特性 | 分区表、物化视图、JSON |
| FAQ | 常见问题 |
核心特性
| 特性 | 说明 |
|---|---|
| MVCC | 多版本并发控制,读写不阻塞 |
| ACID | 完全支持事务 |
| 扩展 | 支持自定义类型、函数、操作符 |
| JSON/JSONB | 原生 JSON 支持 |
| PostGIS | 地理信息系统扩展 |
应用场景
| 场景 | 说明 |
|---|---|
| OLTP | 业务系统、订单处理 |
| 混合负载 | 配合 TimescaleDB 做时序 |
| GIS | 地理信息应用 |
| 文档存储 | JSONB 存储半结构化数据 |
快速部署
bash
docker run -d \
--name postgres \
-e POSTGRES_PASSWORD=secret \
-v postgres_data:/var/lib/postgresql/data \
-p 5432:5432 \
postgres:17常用命令
bash
# 连接数据库
psql -h localhost -U postgres
# 查看表
\dt
# 查看索引
\di
# 查看执行计划
EXPLAIN ANALYZE SELECT * FROM users WHERE id = 1;