创建分区主表:
```
CREATE TABLE events_part (
id bigserial PRIMARY KEY,
ts timestamptz NOT NULL,
payload jsonb NOT NULL
) PARTITION BY RANGE (ts);
```
创建默认分区(兜底):
```
CREATE TABLE events_default PARTITION OF events_part DEFAULT;
```
创建月度分区:
```
CREATE TABLE events_2025_11 PARTITION OF events_part
FOR VALUES FROM ('2025-11-01') TO ('2025-12-01');
CREATE TABLE events_2025_12 PARTITION OF events_part
FOR VALUES FROM ('2025-12-01') TO ('2026-01-01');
```
查询与性能验证:
```
EXPLAIN ANALYZE SELECT count(*) FROM events_part
WHERE ts >= '2025-11-01' AND ts < '2025-12-01';
```
后续维护(新增分区示例):
```
CREATE TABLE events_2026_01 PARTITION OF events_part
FOR VALUES FROM ('2026-01-01') TO ('2026-02-01');
```

发表评论 取消回复