来源: postgr.es
34
的内置命令稳定而实用,但一旦团队希望调整 的排序、参数或输出,就会碰到一个现实问题:通用工具很难为每种工作流增加专用语法。Pavel Stehule 准备的一组补丁尝试把 Lua 集成进 ,让用户通过脚本注册自己的反斜杠命令。例如,可以实现一个按表大小排序的 ,而不必修改和重新编译对应命令的 C 代码。 需要明确的是,这里讨论的是补丁所展示的扩展机制。...
来源: postgr.es
34
UUID 作为主键很方便,但不同 UUID 版本对 PostgreSQL 插入性能的影响并不相同。一次真实迁移显示,在 PostgreSQL 18.4 上将部分表的主键默认值从 UUIDv1 或 UUIDv4 切换到 UUIDv7 后,某些高频多行 INSERT 的平均执行时间从 0.7ms 降到 0.03ms,提升约 23 倍。 这不是所有表都会获得...
来源: postgr.es
39
pgwatch v6.0.0-beta 带来了一个重要变化:它现在可以直接抓取 Prometheus exporter,把 Prometheus 文本格式的指标作为一等数据源,与 PostgreSQL 数据源并列采集。这样,数据库内部状态和数据库外部环境信息就能进入同一个指标存储系统。 pgwatch 的传统模式是执行针对 视图的 SQL 查询,并把结...
来源: postgr.es
36
连接日志看似只是几行文本,却直接影响数据库审计、故障排查和连接池调优。PostgreSQL 18 为连接相关日志带来了更细粒度的控制,重点落在 、 和 这几个 GUC(Grand Unified Configuration)参数上。 这意味着管理员可以更明确地回答三个问题:谁建立了连接,谁断开了连接,以及日志里是否需要把客户端地址解析成主机名。 启用 ...
来源: postgr.es
27
DocumentDB 把 BSON 类型、文档 CRUD API 和 MongoDB Wire Protocol 网关带进了 PostgreSQL。对应用侧而言,、PyMongo 和 Node.js MongoDB Driver 仍然是在连接 MongoDB;对基础设施侧而言,底层实际运行的是 PostgreSQL。这套能力也是 Azure Docum...
来源: postgr.es
25
数据库迁移工具解决了执行问题,却不一定能表达完整的部署策略。发布流程一旦需要“在某个迁移之后运行检查”“在事务之外创建并发索引”或“只有校验通过才能提交”,团队通常会开始寻找新的参数、钩子或插件。 这些需求背后有一个更基础的事实:迁移工具本质上是一个执行 SQL 的程序。它决定哪些 SQL 运行、运行顺序、是否包在事务中,以及结果能否提交。与其不断等待...
来源: percona.com
51
一次 PostgreSQL 主备复制延迟问题,表面上看像是存储系统性能不足:主库不断产生 WAL,备用库却追不上。实际排查时,存储层、网络路径和 EC2 实例本身的带宽行为都可能参与其中。尤其当数据库使用挂载在 EC2 上的 Amazon FSx 文件系统时,单个 TCP 流的吞吐上限可能成为隐藏瓶颈。 典型架构是:PostgreSQL 主库和备用库运...
来源: postgr.es
36
PostgreSQL 自带强大的正则表达式能力,但在不同工作负载下,正则引擎的语法、执行特性和安全边界可能影响查询结果与响应时间。Hubert “depesz” Lubaczewski 最近整理了 和 ,并使用 数据库中的执行计划数据进行研究。 这类尝试的价值不只是“换一个正则函数”。更重要的是:把真实数据准备好,确认扩展暴露的 API,再用同一组查询...
来源: postgr.es
33
查询优化经常被归结为“找到正确的索引”。但在生产环境里,真正困难的地方往往是:你知道应该建什么索引,却没有条件立刻建出来。 一张 750 GB、包含 160 亿行的 PostgreSQL 单体表,新增一个 GiST 索引可能需要超过 24 小时。业务又不能停,查询却已经从几秒恶化到几分钟。这时,优化问题就不再是“哪个索引最理想”,而是“在不能改变大表结...
来源: postgr.es
22
在 Kubernetes 上部署 PostgreSQL 只是起点。真正考验运维体系的,是运行数周或数月后出现的日常变更:实例内存不足、读流量需要更多副本、镜像需要更新。CYBERTEC PG Operator(CPO)将这些操作收敛为 PostgreSQL 自定义资源的期望状态修改,再由 Operator 配合 Patroni 执行有序切换,而不是由人...