选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 博览 RSS 订阅

当天收录 23 条。

别为不会发生的崩溃缩短 checkpoint_timeout

Lætitia AvrotMyDBANotebook

把 checkpoint_timeout 调到一到五分钟,通常是为了缩短崩溃恢复时间。Lætitia Avrot 说这条推理站不住:恢复时长取决于要重放的 WAL 量,而不是这个参数本身;间隔越短,越多页面在检查点后首次修改时触发全页写,形成写放大。她建议多数负载放在 15 到 30 分钟,由 max_wal_size 按实际写入量触发检查点,可用性交给副本。调参之前先打开 log_checkpoints 看清现状。

DBOS 用三项改动把 Postgres 队列推到 3 万 TPS

Qian Li、Peter KraftDBOS 博客

DBOS 的 Qian Li 与 Peter Kraft 说明了 Postgres 队列的扩展办法:上千个 worker 轮询同一张队列表会造成锁竞争和索引抖动,未优化时吞吐只有每秒百来个任务。三项改动是:出队用 FOR UPDATE SKIP LOCKED 各取各行,事务从 REPEATABLE READ 降为 READ COMMITTED 消除序列化失败,索引只覆盖 ENQUEUED 状态。厂商称优化后达到每秒 3 万次工作流执行。

ClickHouse 用 Rust 重写 WAL-G,虚拟内存降七成

Sai Srirampur、Philip DubéClickHouse 博客

WAL-G 用 Go 写成,垃圾回收让备份与 WAL 归档的内存占用难以预测。ClickHouse 发布开源的 WAL-RUS,用 Rust 重写同一套能力,沿用 WAL-G 的配置变量,两边归档可以互读,是并行选项而非替代品。厂商测试称虚拟内存从 2.8 GB 降到 1 GB 以内,吞吐与 CPU 占用相当。ClickHouse Cloud 的托管 Postgres 将用它做默认的备份与归档机制。

PostgreSQL 为什么不能在表中间插入列

TianzhouBytebase 博客

Tianzhou 指出根源:PostgreSQL 用不可变的 attnum 同时表示列的身份、物理位置和显示顺序,pg_attribute 的编号顺序分配、永不复用,删列留下空洞,重排会牵动引用它的索引与约束。列顺序不只是美观,按对齐宽度排列最多省两成表体积,眼下只能用 CREATE TABLE AS SELECT 重建表。MySQL 的 InnoDB 自 8.0.29 起分开逻辑与物理顺序,社区同类提案至今未落地。

AWS、Oracle 与 Google 推动 MySQL 开放治理

AWS Open SourceAWS 开源博客

AWS 开源博客称,为 MySQL 建立开放治理是社区向前的一步,AWS、Oracle 和 Google Cloud 将共同参与新的 steering committee。The Register 的报道强调,社区想要的是具体保证而不是意向:路线图决定权、兼容性承诺和认证规则怎么落到文档上,目前都没有答案。治理变化不像版本发布那样显眼,但对兼容性和下游发行版影响更久。维护 MySQL 与 PostgreSQL 双栈的团队值得跟进。

Security Profiles Operator 发布 v1 稳定 API

CNCFCNCF 博客

Kubernetes 的工作负载安全策略长期受制于可用性与默认配置,seccomp 与 AppArmor 的 profile 多半靠各家自己拼装。CNCF 宣布 Security Profiles Operator 发布 v1,API 进入稳定阶段,项目做了安全加固,部分设计反馈回上游。稳定的 API 意味着更多生产集群可以把安全 profile 写成可重复的配置对象,而不是一次性手工操作,也便于纳入 CI/CD 验证。