Postgres 19计划将默认的TOAST压缩算法从pglz更改为LZ4,LZ4在压缩速度和压缩比上优于pglz,更适应现代硬件。Postgres使用统一的压缩框架,自动对可变长度类型进行压缩,TOAST的实现将继续优化压缩算法以解决数据存储问题。
2026年3月8日起,不列颠哥伦比亚省将实施全年太平洋夏令时,时区调整为UTC-7。建议采用双列模式存储本地时间和UTC时间,以应对时区变化,确保预约时间准确。若tzdata更新,需重新计算UTC值。
美国司法部反垄断局局长盖尔·斯莱特辞职,引发关注。她的离职与部门内部紧张及特朗普的影响有关。司法部与40个州检察长联合起诉Live Nation-Ticketmaster,指控其反竞争行为抬高票价。尽管斯莱特离职,接任者承诺继续推进案件,州检察长们也将积极参与诉讼。
文章讨论了2008年复杂的时间连接查询,强调使用CTE和窗口函数来简化查询,避免重复记录和性能问题,特别是在处理用户行为数据时。
直方图由卡尔·皮尔逊于1892年首次提出,是数据分布和频率的图形表示。现代SQL(如Postgres的width_bucket)可以简化直方图的创建,通过定义范围和桶数,自动计算数据频率,便于可视化和分析。选择合适的桶数对数据解读至关重要。
美国司法部反垄断局将由盖尔·斯莱特领导,她在国会确认后将处理多起大型科技公司的反垄断案件,包括谷歌搜索垄断案。斯莱特在特朗普任内工作,具备丰富的反垄断法律经验,承诺将依据合法执法目的进行调查,避免政治动机的诉讼。
特朗普提名保罗·阿特金斯担任证券交易委员会主席,盖尔·斯莱特负责司法部反垄断事务。这两位提名人可能会影响大科技和加密货币的监管政策,阿特金斯支持数字资产,而斯莱特将继续对谷歌和苹果等公司进行反垄断调查。
SQL查询从简单到复杂并不明显,尤其在复杂计算时。错误的连接可能导致数据膨胀。构建查询应从简单开始,逐步增加复杂性,确保数据关系正确。调试时需逐行检查结果,验证数据完整性。SQL的强大在于逻辑块的标准化,编写SQL是非线性过程。
使用Postgres数据库的SQL函数,可以按天、周、月等对销售数据进行分析。通过INTERVAL和date_trunc等函数,可以轻松汇总和分类数据,生成报告。这些工具使日期处理高效。
Ruby on Rails是小型B2B SaaS公司首选的开源框架。它使用约定优于配置的原则,简化了技术选择,提高了决策效率。acts_as_tenant是一个简单的Ruby gem,实现了多租户最佳实践,保护开发人员免受构建返回其他租户记录的查询的影响。它适用于行级多租户,不需要管理多个数据库或数据结构。通过添加gem并进行配置,可以轻松地将其应用于现有应用程序代码库。它还提供了对ActiveRecord模型的帮助和支持。acts_as_tenant的实现可以避免一些常见的bug,如OR语句的错误使用。它还提供了控制器的辅助方法,可以根据认证用户的域名、子域名或隐式租户来实现多租户。对于现有代码库,可以逐步进行迁移,每个步骤都可以独立部署。acts_as_tenant的优势在于它不是深度集成,可以轻松迁移到其他解决方案。
Rails 7.1新增了异步查询、复合主键、公共表达式、非记录表和值规范化等功能。异步查询可将长时间运行的查询发送到后台,适用于具有多个长时间运行的查询的页面。复合主键是Rails 7.1中新增的两种本地实现主键的方法之一。公共表达式是一种嵌套SQL语句,可在SQL之前定义。非记录表的支持提高了测试环境的性能。值规范化是一种本地、通用的值规范化语法。
Postgres 16新增了JSON数据类型检查、SQL标准JSON函数和与JSON交互的新功能,使其成为JSON的一流数据库。
Postgres的pgvector扩展添加了HNSW作为新的向量数据索引类型,允许进行近似最近邻查询。HNSW是一种使用图拓扑结构来寻找最近邻的分层可导航小世界算法。HNSW索引查询速度比基于列表的索引更快,但构建时间和内存消耗更长。m和ef_construction的值影响索引的构建时间和性能。HNSW索引对于扩展向量数据和提高并发性非常有用。
本文讨论了在Postgres中扩展矢量数据的方法以及为性能做好准备的建议。作者介绍了缓存和分区作为工具,并提到了使用外部数据包装器连接数据库的方法。还讨论了数据分离、缓存类型和降维的方法。提供了代码示例来帮助读者优化性能。
介绍Postgres的Hyperloglog(HLL)工具的三个设置:log2m、regwidth和expthresh。其中,log2m和regwidth用于计算不同值的数量,expthresh用于提高计算精度。需要根据唯一值的数量来调整存储空间。通过设置expthresh,可以提高计算精度,但需要付出额外的内存代价。
本文介绍了Postgres中的Hyperloglog(HLL)工具,用于度量、仪表盘和分析。HLL是一种用于计数不同值的压缩和提取算法,通过哈希和二进制转换来近似计算结果。使用HLL可以减少存储空间和提高性能,但结果是近似值。可以使用HLL扩展加载到数据库中,并通过聚合表和HLL函数进行查询。
本文介绍了使用pgvector进行AI的性能问题,包括查询是否使用索引、列表大小是否适当、索引和更改设置所需的内存是否足够。文章还介绍了向量索引如何使用列表,以及如何选择索引的列表大小。最后,文章总结了如何确保查询使用索引、如何选择最佳列表大小以及如何确保索引有足够的内存。
本文介绍了如何使用ORM和SQL解决N+1查询问题,讲解了ActiveRecord基础操作和使用SQL中的ON和WHERE条件的区别,通过例子说明了ORM处理复杂关系的困难和使用SQL解决的方法,提出了使用SQL优化应用程序性能的建议,并推荐使用PostgreSQL作为长期数据库解决方案。
Crunchy Data在Crunchy Bridge上推出了对Mongo Foreign Data Wrapper的支持,使用户可以从多个数据库中受益。使用Postgres来支持碳减排项目的购买数据,使用MongoDB来提供公共数据展示是一个实际的用例。通过将不同的用例针对不同的数据库,用户可以保持灵活性。文章提供了一个教程,介绍了如何使用Postgres中的触发器,使用MongoDB FDW将代码从Postgres写入MongoDB,包括创建外部表、创建触发器和同步现有数据。
MongoDB是一种易于入门且具有良好扩展工具的开发人员友好的数据库。它支持大型分片JSON数据集,滚动日志和原子更新快速更新JSON文档。Crunchy Bridge的新部署提供了MongoDB FDW扩展,通过Postgres将数据表示为MongoDB,实现了Postgres和MongoDB之间的数据交互。许多客户同时使用Mongo和Postgres作为开源数据库。
完成下面两步后,将自动完成登录并继续当前操作。