用 ulimit 限制 PostgreSQL 内存:避免 OOM 杀库灾难
你有没有被 PostgreSQL 的 OOM 折磨过?数据库强制重启,所有连接全断。排查半天,发现罪魁祸首只是一个跑飞了的复杂查询,或者一个写崩了的存储过程。
你有没有被 PostgreSQL 的 OOM 折磨过?数据库强制重启,所有连接全断。排查半天,发现罪魁祸首只是一个跑飞了的复杂查询,或者一个写崩了的存储过程。
生产环境里最让人头疼的,莫过于那种毫无征兆的性能雪崩:前一秒 TPS 还稳稳跑在 2000+,下一秒直接腰斩;应用延迟突然飙升,请求排队堵成山;排查半天 CPU、内存都正常,最后发现磁盘 IO 被打满了。
PostgreSQL 新增了 pg_stash_advice 扩展模块,实现了基于查询 ID 的执行计划建议自动应用能力。无需修改应用代码、无需重启服务,即可为任意查询永久绑定最优执行计划,彻底解决了统计信息波动、规划器误判导致的慢查询回退难题。
之前,PostgreSQL 数据校验和只能在初始化或停机状态下进行配置。而现在,新版本实现了运行中实例在线启用 / 禁用数据校验和的能力,让 7×24 小时运行的核心业务实例也能零停机获得数据完整性保护。
PostgreSQL 原生REPACK命令新增 CONCURRENTLY(并发执行)选项,实现了业务表几乎无感知的 7x24 小时在线重组。
MySQL 用户经常会使用 SHOW CREATE USER 语句,显示用于创建指定用户的 CREATE USER 语句。现在 PostgreSQL 也有了原生的 SQL 函数,一行命令即可生成角色完整重建的 DDL。
PostgreSQL 已经开始支持时态数据部分更新与删除的能力,彻底填补应用时间维度区间数据操作的原生语法空白,大幅简化了范围型时态数据的修改逻辑。
摘要:开发者经常会在存储过程中使用异常处理,尤其是从其他数据库迁移到 PostgreSQL 时,但是不同数据库的行为差异很大。
Copyright (c) 2017 - 2025, Redrock Data Services, Inc. All rights reserved.