Hubert 'depesz' Lubaczewski:等待 PostgreSQL 19 – 新增随机函数 random(min, max) 的日期和时间戳变体

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

2025年9月9日,Dean Rasheed 提交了补丁,新增了随机函数的日期和时间戳变体,包括 random(min date, max date)、random(min timestamp, max timestamp) 和 random(min timestamptz, max timestamptz),可在指定范围内生成随机值,简化测试数据生成。

🎯

关键要点

  • 2025年9月9日,Dean Rasheed 提交了补丁,新增了随机函数的日期和时间戳变体。

  • 新增的随机函数变体包括 random(min date, max date)、random(min timestamp, max timestamp) 和 random(min timestamptz, max timestamptz)。

  • 这些函数可以在指定范围内生成随机值,简化测试数据生成。

  • 作者为 Damien Clochard,经过多位审阅者的审核。

  • random() 函数在生成测试数据时非常有效,通常使用基本版本生成 0.0 到 1.0 之间的浮点值。

  • 新增的三个版本使得 random() 函数总共有六个不同的版本,以及一个没有参数的普通版本。

  • 提供了测试示例,验证了新函数的正确性和有效性。

  • 新功能将使得编写测试数据变得更加容易。

🔎

延伸解读

新函数的实用性

新增的随机函数变体极大地简化了测试数据的生成过程。开发者可以在指定的日期和时间范围内生成随机值,这对于需要大量测试数据的场景尤为重要,尤其是在数据库测试和数据分析中。

与传统方法的比较

在此之前,生成特定范围内的随机日期或时间戳通常需要复杂的数学运算或额外的代码。新的 random() 函数变体提供了更直接的解决方案,使得开发者可以更高效地编写测试代码,减少了出错的可能性。

潜在的风险与限制

尽管新函数提供了便利,但在使用时仍需注意生成的随机值是否符合实际需求。例如,生成的随机日期可能不符合特定业务逻辑或时间约束,因此在使用这些随机值进行测试时,开发者应进行适当的验证。

延伸问答

PostgreSQL 19 新增了哪些随机函数变体?

新增了 random(min date, max date)、random(min timestamp, max timestamp) 和 random(min timestamptz, max timestamptz) 三个变体。

这些随机函数变体的主要用途是什么?

这些函数可以在指定范围内生成随机值,简化测试数据生成。

random() 函数的基本版本是怎样的?

基本版本的 random() 函数生成 0.0 到 1.0 之间的浮点值。

如何验证新增的随机函数的正确性?

可以通过生成测试数据并查询最小值、最大值和计数来验证新函数的正确性。

新增的随机函数变体对测试数据生成有什么影响?

新增的变体使得编写测试数据变得更加容易,提供了更多灵活性。

谁提交了这些随机函数的补丁?

Dean Rasheed 于 2025年9月9日提交了这些补丁。

🏷️

标签

➡️

继续阅读