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

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

PostgreSQL 博览 RSS 订阅

当天收录 17 条。

pg_ash v1 给 PostgreSQL 补上活动会话历史

PostgresAIPostgreSQL 新闻

Oracle 的 ASH 在 PostgreSQL 上一直缺个对应物。PostgresAI 发布的 pg_ash v1 用 pg_cron 每秒采样一次 pg_stat_activity,把快照写进分区表,再用 32 个 SQL 函数做等待事件分析。纯 SQL 与 PL/pgSQL 实现,不需要 C 扩展或重启,RDS、Cloud SQL、Supabase 这类托管服务同样能用,支持 PostgreSQL 14 到 18。

Gavin M. Roy 一次放出四个 PostgreSQL 工具

Gavin M. RoyPostgreSQL 新闻

Gavin M. Roy 一次放出四个 PostgreSQL 工具。tree-sitter-postgres 是 SQL 与 PL/pgSQL 的 Tree-sitter 语法,由 Bison 源码生成。libpgfmt 是 Rust 写的格式化库,内置多套风格预设,pgfmt 是它的命令行工具,能格式化也能查风格。libpgdump 用 Rust 读写 custom、directory 与 tar 三种转储格式。

排序规则一变,索引里的数据就可能失踪

Shaun ThomaspgEdge 博客

glibc 2.28 在 2018 年按 Unicode 规则改了排序,B-tree 索引里按旧顺序摆好的数据就此对不上:查询少返回行、唯一约束抓不到重复,而且没有告警。Shaun Thomas 梳理了应对之道:PostgreSQL 13 起记录排序规则版本并告警,17 提供内置 provider,pg_c_utf8 在大版本内不再变。老集群升级操作系统后要 REINDEX INDEX CONCURRENTLY。

Estuary 的 PostgreSQL CDC 支持只读备库采集

EstuaryPostgreSQL 新闻

Estuary 更新了 PostgreSQL 连接器。新增只读模式 CDC,不必往 watermarks 表写数据,可直接从只读备库采集,把复制开销移出主库;这条路要求 PostgreSQL 16 以上、开启逻辑解码并设 hot_standby_feedback = on,采集范围里还要带高频更新表或心跳表,否则 WAL 会一直堆积。源端与目标端都支持 IAM 认证,分区表还可按分区各自成流。

工作集超出内存时性能会掉下一道悬崖

Jake HertzTigerData 博客

数据装得进内存时一切都快,工作集一旦超过可用内存,响应时间就从毫秒跳到几百毫秒。Jake Hertz 解释这道悬崖来自缓存淘汰:新数据把旧页挤下磁盘,再查这些数据就要等慢速 I/O;分析查询扫历史数据会把热数据挤出内存,让情况更糟。可选的路子是加内存、水平分片,或改列存压缩体积。他建议用 pg_statio_user_tables 盯住缓存命中率,低于 95% 就是要出事的信号。