---

title: PostgreSQL 分区表与热数据管理实践

keywords:

  • PostgreSQL
  • 分区表
  • RANGE 分区
  • ATTACH PARTITION
  • 索引

description: 使用 RANGE 分区管理时间序列与热数据,提供创建、附加分区与查询优化示例。

tags:

  • ATTACH PARTITION
  • PostgreSQL
  • RANGE 分区
  • 分区表
  • 性能优化
  • 数据库
  • 索引

categories:

  • 文章资讯
  • 技术教程

---

PostgreSQL 分区表与热数据管理实践

创建分区表

CREATE TABLE events (
  id BIGSERIAL PRIMARY KEY,
  ts TIMESTAMP NOT NULL,
  payload JSONB
) PARTITION BY RANGE (ts);

CREATE TABLE events_2025_11 PARTITION OF events
  FOR VALUES FROM ('2025-11-01') TO ('2025-12-01');

附加新分区

CREATE TABLE events_2025_12 PARTITION OF events
  FOR VALUES FROM ('2025-12-01') TO ('2026-01-01');

索引与查询

CREATE INDEX ON events (ts);
EXPLAIN SELECT * FROM events WHERE ts >= now() - interval '7 days';

维护

  • 定期创建/附加新分区,归档旧分区
  • 结合分区裁剪与索引提升查询性能

总结

分区表可有效管理时间序列与冷热数据,提升查询效率与维护便利性。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部