Crunchydata

Crunchy Data,领先的企业级 PostgreSQL 解决方案提供商,提供可在任意基础设施上部署的可信、安全、商业支持的 PostgreSQL 服务。

BC省时区变更与Postgres时间戳陷阱:为何你的预约时间可能错了一小时?

文章以不列颠哥伦比亚省永久实行夏令时为例,深入分析了PostgreSQL中timestamptz字段在tzdata更新后导致的时间偏移问题。作者指出,由于timestamptz存储的是UTC时间,时区规则变更会导致历史存入的未来本地时间查询结果出错。文中提供了检测tzdata版本的方法,并推荐了存储本地时间与时区的双列模式(Dual Column Pattern)作为解决方案,同时讨论了RFC 9557标准的局限性及数据迁移策略。
评论点赞收藏60 天前

PostgreSQL EXPLAIN执行计划中的扫描类型全解

详解PostgreSQL EXPLAIN计划中的各类扫描类型,包括顺序扫描、索引扫描、位图索引扫描、并行扫描及索引-only扫描的原理、适用场景与性能差异,附带具体SQL示例和计划输出分析。
评论点赞收藏64 天前

Postgres的主键序列应该升级为Bigint

文章指出Postgres中传统的SERIAL(INT)存在溢出风险,建议改用BIGINT。作者通过详细分析证明在64位系统上INT和BIGINT存储成本几乎相同。重点提供了将生产环境数据从INT迁移到BIGINT的完整技术方案,包括异步回填、批量清理、并发建索引以及最终的原子交换步骤,确保业务低停机。
评论点赞收藏71 天前

Postgres 18 数据校验和默认开启及升级应对指南

Postgres 18 将数据校验和设为默认开启,以防御静默数据损坏。文章解释了校验和工作原理,并重点指出这可能导致使用 pg_upgrade 进行大版本升级时因新旧集群设置不一致而失败,提供了临时绕过方案及长期迁移建议。
评论点赞收藏247 天前

隐藏在明处的PostgreSQL内部机制

文章介绍了PostgreSQL内部目录表(Catalog)和视图(Views)的用途,列举了psql常用命令以及pg_stat_activity、pg_locks等关键视图和底层表的查询方法,旨在帮助开发者更好地监控和调试数据库。
评论点赞收藏274 天前

时间关联查询(PostgreSQL实战指南)

文章通过回顾2008年处理数据库查询时的痛点,对比了传统嵌套子查询、PostgreSQL特有的DISTINCT ON语法以及现代CTE与窗口函数的解决方案。重点讨论了在处理“获取最新关联记录”这一常见场景时,如何避免重复数据Bug及ORM导致的N+1查询性能问题,提供了具体的SQL代码示例和最佳实践。
评论点赞收藏293 天前

PostgreSQL是读多写少还是写多读少?

文章探讨了如何判断PostgreSQL数据库是读密集还是写密集型,提供了基于内部统计信息的SQL查询方法来估算读写比例,并分别针对高写入和高读取负载给出了具体的性能调优建议,如使用NVMe SSD、调整WAL、利用只读副本等。
评论点赞收藏302 天前

PostgreSQL 18: 在 RETURNING 子句中访问旧行和新行

介绍 PostgreSQL 18 的新特性,允许在 INSERT、UPDATE、DELETE 和 MERGE 命令的 RETURNING 子句中直接访问 OLD 和 NEW 行数据。文章对比了此前依赖 xmax 实现细节的晦涩写法,展示了新版本中通过检查 OLD 是否为空来优雅区分 Upsert 中新插入和已更新行的方法,具有明确的工程实用价值。
评论点赞收藏323 天前

PostgreSQL中JSONB数据的索引策略与最佳实践

本文详细介绍了PostgreSQL中JSONB数据的索引策略。重点讲解了GIN索引适用于包含查询和键存在性检查,但也指出了其在路径导航和比较查询中的局限性及维护开销。此外,还介绍了表达式索引用于优化特定字段的范围扫描,并给出了结合使用GIN与B-Tree的最佳实践建议。
评论点赞收藏341 天前

Postgres新手数据加载完全指南

面向Postgres新手的多种数据导入方法指南,涵盖CSV、JSON、GUI工具、Dump/Restore、FDW、生成测试数据及pgbench性能测试,附带代码示例和工具对比。
评论点赞收藏347 天前

PostgreSQL日志配置与性能优化实战指南

本文详细介绍了PostgreSQL日志配置的基础知识与进阶技巧,涵盖日志收集器、格式选择、SQL语句记录、敏感数据脱敏及审计日志。重点讲解了如何利用日志进行性能监控,包括慢查询、锁等待和临时文件生成的检测,旨在帮助DBA和开发者通过日志优化数据库性能。
评论点赞收藏357 天前

如何创建PostgreSQL只读用户及权限管理指南

文章通过具体示例演示了如何在PostgreSQL中创建只读用户,详细讲解了GRANT、REVOKE及ALTER DEFAULT PRIVILEGES的使用方法和陷阱,并重点介绍了PostgreSQL 14中新增的pg_read_all_data角色如何简化这一流程。
评论点赞收藏360 天前

将 Postgres 分区数据归档至 Iceberg

本文介绍如何利用 Crunchy Data Warehouse 的逻辑复制功能,将 Postgres 中按时间分区的旧数据无缝归档到 Iceberg 数据湖中。通过保留近期数据在 Postgres 进行在线事务处理,同时将历史数据复制到 Iceberg 进行长期存储和查询,实现了性能优化与成本控制的平衡。文章提供了从建表、配置复制用户到最终删除旧分区并验证 Iceberg 数据完整性的完整代码示例。
评论点赞收藏413 天前

Snowflake 收购 Crunchy Data:Postgres 正式融入 AI 数据云

Snowflake 宣布收购 Crunchy Data,旨在将 Postgres 引入其 AI 数据云。文章回顾了 Crunchy Data 自 2012 年成立以来推动 Postgres 在容器化和云原生领域的发展,以及 Crunchy Bridge 产品的历程。此次收购标志着 Snowflake 进军 OLTP 市场,利用 Crunchy Data 的技术增强其在企业级 Postgres 支持上的能力,实现操作型数据库与分析型数据云的融合。
评论点赞收藏439 天前

黑客帝国式优化:利用Postgres统计表实现查询加速

文章深入解析了PostgreSQL查询优化器如何利用统计信息,并详细演示了如何通过创建扩展统计信息(Extended Statistics)来解决列间相关性导致的估算偏差问题。通过依赖关系、多变量唯一值和多变量最常见值三种策略,结合真实的EXPLAIN ANALYZE对比数据,展示了如何显著提升复杂查询的执行效率,从秒级降低到毫秒级。
评论点赞收藏450 天前

PostgreSQL 到 Iceberg 的原生逻辑复制

Crunchy Data 宣布在 Crunchy Data Warehouse 中实现从 PostgreSQL 到 Iceberg 的原生逻辑复制。该功能支持插入、更新、删除和截断操作,具有低延迟、保留事务边界和自动表创建等特性,旨在简化操作数据库与分析型数据仓库之间的数据同步。
评论点赞收藏458 天前

Pg_parquet v0.4.0 发布:支持 Google Cloud Storage 和 HTTPS 存储

CrunchyData 发布 pg_parquet v0.4.0,新增对 Google Cloud Storage 和 HTTPS 存储的支持,以及 UUID、JSON 等类型支持。该工具允许在 PostgreSQL 内部直接通过 COPY 命令导入导出 Parquet 文件,无需第三方工具,旨在简化 Postgres 与数据湖之间的数据迁移和集成。
评论点赞收藏458 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。