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

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

PostgreSQL 博览 RSS 订阅

当天收录 20 条。

Greenmask 连发九个版本并支持 PostgreSQL 18

GreenmaskGreenmask

Greenmask 是无状态的逻辑备份与脱敏工具,不改 schema,可以直接替代 pg_dump 与 pg_restore,常用来把生产数据做成能进测试环境的脱敏副本。从 0.2.9 到 0.2.17 这一串版本补上了 PostgreSQL 18 支持,恢复端新增 -C 参数,validate 改走内存存储,list-dumps 增加 --quiet,并提供官方安装脚本;转换器新增邮编脱敏与多列公司数据生成。修复覆盖继承逻辑的栈溢出与 ACL 恢复等问题。

NOT VALID 与 NOT ENFORCED 约束不是一回事

EnterpriseDBEDB 博客

PostgreSQL 18 从 SQL:2023 引入了 NOT ENFORCED 约束,它和早就存在的 NOT VALID 完全不同。NOT VALID 允许先把约束加上而不立即校验存量数据,适合校验代价高昂的大表;NOT ENFORCED 则在数据库生命周期管理里承担另一种角色。EnterpriseDB 这篇文章把两者的定位讲清楚,指出它们针对的是同一类难题:数据量到了 TB 级之后,传统的约束强制执行本身就可能变成性能瓶颈。

峰值吞吐基准测不出生产里真正的瓶颈

Matty StrattonTigerData 博客

基准跑出每秒 8 万次插入、延迟也漂亮,并不代表生产能长期扛住。Matty Stratton 认为真正该看的是持续吞吐上限,也就是 autovacuum、检查点、WAL 归档和复制这些维护进程能够无限期跟上的写入速率。这个上限会随数据增长而下降,文章归纳了四个推动机制,最先出现的是热数据超出可用内存和 autovacuum 跟不上回收。容量规划应当按这条持续上限来做,而不是按峰值数字。

Neon 用预热把计划内打补丁做成无感

Hans NorheimNeon 博客

Neon 的计算与存储分离,让它可以在维护之前后台先起一台新的 Postgres 计算节点,既不影响当前主节点也不计费。Hans Norheim 介绍的预热做法是把主节点缓存中的页面清单发给新节点,新节点从共享存储层把这些页读进缓存,再订阅 WAL 只接收与自身缓存有关的记录保持同步;随后旧主节点退出,新节点用 pg_promote 提升,省掉一次完整重启。10GB 的 pgbench 测试里预热后吞吐几乎立刻恢复,只读负载收益最明显。

PG Phriday:把负载挡在数据库前面

Shaun ThomaspgEdge 博客

一条 2 到 3 秒的查询,遇上 4000 个用户要求 60 秒内出结果,就变成 67 个并发执行,两核机器根本吃不下。Shaun Thomas 给出分层的替代方案:物化视图配 pg_cron 定时刷新,适合分钟级新鲜度的报表;pg_ivm 用触发器做增量维护,把秒级的全量刷新压到毫秒,代价是写入变重;再往外是 Redis 一类共享缓存,由后台进程按固定周期刷新;最外层用 CDN 或 Varnish 缓存 HTTP 响应。核心是让查询发生得更少。