标签

数据库

PostgreSQL 19:wal_level 终于学会"按需变脸"

来源: postgr.es 76
你设了 ,以为只是给逻辑复制留个后路——但 PostgreSQL 从来没给你"后路",它给你的是一条全天候运转的 WAL 重型流水线。哪怕没有任何逻辑复制槽在消费,额外信息照样往 WAL 里灌,磁盘和 I/O 的账单一分不少。 PostgreSQL 19 终结了这笔冤枉钱: 不再是你写进 的那个死值,它会根据实际挂着的复制槽动态升降。你设的是 logi...

PostgreSQL JSONB 查询提速:生成列让文档字段回归关系模型

来源: postgr.es 26
存 JSONB 很爽——不用预定义 schema,不用频繁迁移表结构,几百 KB 的嵌套文档一条记录就能装下。但到了查询环节,事情就变了:按 过滤、按时间范围筛选、按 分类,这些再普通不过的操作在 JSONB 上跑起来既慢又容易写错索引。 核心矛盾很清晰:JSONB 的灵活性恰恰是查询性能的敌人。Postgres 对 JSONB 内部结构是"盲"的——...

autovacuum_work_mem:给自动清理工人单独发工资

来源: postgr.es 35
PostgreSQL 的 autovacuum 在清理死元组时,需要一块内存来记录所有待清理的元组标识符(TID)。这块内存的上限由 控制。默认值 ,意思是"跟 一样"。乍一看省事,但一旦你把 调到几百 MB 甚至 1 GB 来加速手动 或 ,autovacuum 的每个 worker 就会照搬这个数字——多个 worker 同时开工时,内存开销可能远...