PostgreSQL 的 random() 函数的质量如何?

2023-11-27

假设我正在创建一个表foo有一个柱子bar这应该是一个非常大的随机整数。

CREATE TABLE foo (
    bar bigint DEFAULT round(((9223372036854775807::bigint)::double precision * random())) NOT NULL,
    baz text
);

这是最好的方法吗?谁能评价一下 PostgreSQL 的质量吗?random()功能?这里的乘法是否掩盖了熵?

请注意,我do有良好的硬件熵输入/dev/random.


postgresql随机是根据自己的便携式实施POSIX 的erand48。它是线性同余PRNG在 48 位域中。

如果你需要更强大的东西,请查看 pg_crypto 模块gen_random_bytes用于产生加密强熵的函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL 的 random() 函数的质量如何? 的相关文章

随机推荐

  • 如何从“gem”中获取不在“lib”目录下的文件?

    我想为我的rubocop定制警察 这个 gem 定义了方便的助手here 我想要求它 如何实现什么 我尝试过使用Gem find files 这使我能够要求该 gem 中的任何文件 但仅限于lib目录 例如 this requires ge
  • “javascript:;” HTML 锚标记中的 href 属性

    Update 下面的代码的含义和作用是什么 它需要 JavaScript 才能工作吗 a href Do Somthing a Update 等于以下吗 a href Do Somthing a 使用 javascript 作为链接的 hr
  • 大众运输消息输入错误

    我尝试通过 MassTransit 发布的消息遇到了基本类型问题 考虑以下 Serializable public abstract class Event CorrelatedBy
  • 如何在JSP中循环遍历HashMap?

    我怎样才能循环遍历HashMap in JSP
  • EventKit - 添加带有 2 个警报的 EKEvent 时应用程序冻结 (iOS 5)

    我有一个应用程序 可以通过编程方式将提醒添加到 iOS 设备的日历中 在 iOS 5 之前 我可以添加一个带有两个闹钟的日历项目 EKEventStore eventStore EKEventStore alloc init EKEvent
  • 为什么在 django 中运行syncdb时没有创建celery_taskmeta和其他表?

    我正在尝试设置 celery 和 django 但未创建 celery taskmeta 表 我遵循了许多 最近的 教程 将 djcelery 和 djkombu 添加到我的安装应用程序中 将 BROKER TRANSPORT djkomb
  • C# 类构造函数默认值问题

    我有以下课程 public class Topic public string Topic get set public string Description get set public int Count get set 我希望在使用以
  • 使类中的方法全部静态

    我的同事根据我的一个类 它是一个实例类 告诉我 如果您的类中没有字段 支持字段 只需将类中的所有方法设为静态或将类设为单例 以便您不必使用关键字 new 来调用此 BL 类中的方法 我认为这是常见且良好的做法 基本的面向对象编程 我只是想看
  • 无需 root 的 Python XML 解析

    我想解析一个相当大的类似 xml 的文件 它没有任何根元素 文件的格式为
  • 为什么版本 4 GUID 的第 17 位数字仅限于 4 种可能性?

    我知道这并不会减少所涉及的熵的很大一部分 而且即使 GUID 的另一个字符被保留 出于任何目的 我们仍然有足够的空间让每只昆虫拥有一个 所以我并不担心 只是好奇 As 这个很好的答案表明 版本4生成 GUID 的算法具有以下格式 xxxxx
  • Windows 上的 Git:强制使用 OpenSSH

    我安装了适用于 Windows 的 git 当出现选择 Putty 或 OpenSSH 的选项时 我选择了 OpenSSH 然而 我确实安装了 putty 并且 git 似乎发现了这一点并正在尝试使用它 我的环境变量中有GIT TRACE
  • 覆盖一个 django 表单元素上的数据验证

    我的表单上有一个选择列表下拉框 其中填充了来自模型 董事 的数据 这个下拉菜单的值不需要保存 它实际上仅用于动态触发表单的另一个元素 标题为 电影 的下拉列表 因此 当用户选择导演时 它会使用附加到该导演的电影动态填充第二个列表 第一个列表
  • 使用按钮调用 python 函数

    我希望能够单击 html 中的按钮并调用 python 函数 我努力了this它有效 但仅适用于文本 而且我已经看到了here您可以在按钮的操作中使用函数名称 但它不起作用 我不知道为什么 我不想在单击按钮后转到另一个页面 我想留在同一页面
  • 在 Android 中连接 2 个模拟器实例

    我想在2个模拟器中创建一个服务器和一个客户端来写入和读取数据 我为服务器编写代码 public class ServerActivity extends Activity Called when the activity is first
  • 当我们将多维数组传递给函数时,为什么可以省略它的第一维

    当我们将多维数组传递给函数时 为什么可以省略多维数组的第一维 在我的编程课上 我们被告知在将多维数组传递给函数时我们可以省略第一维 例如 a 10 15 20 可以传递为a 15 20 Why 因为数组将衰减为指针并计算数组元素的偏移量 所
  • 如果值在范围内,则合并 2 个数据帧

    我已经为此苦苦挣扎了一段时间 找不到任何方法 所以如果您能提供帮助 我将非常感激 我是编程新手 我的代码可能效率低下 但这是我能想到的最好的 基本上 我有 2 个 csv 文件 fixes csv 和zones csv 它们包含不同的变量并
  • 具有 ContainsTable 的多列和带有全文索引的布尔逻辑

    我有一个非常基本的场景 但我所读到的内容听起来使用 SQL Server 全文目录和索引并不容易 我有两列 名字和姓氏 我想支持对他们的全文搜索 这样如果有人输入 John Smith 则匹配的人both第一个和最后一个首先出现 虽然创建跨
  • 支持传播的 Spring 事务

    我想了解 Spring 事务与传播支持的用途 java 文档提到 如果该方法具有 Transactional propagation Propagation SUPPORTS 从事务内部调用它支持事务 但如果不存在事务 则该方法将以非事务方
  • 使用 DefaultHTTPClient 时如何显示所有 HTTP 标头?

    当使用DefaultHttpClient 从 Apache Commons HTTP 客户端 是否可以在控制台输出中显示完整的请求以进行调试 我的应用程序遇到问题 我觉得调试它的最简单方法是检查由应用程序发送的所有数据DefaultHTTP
  • PostgreSQL 的 random() 函数的质量如何?

    假设我正在创建一个表foo有一个柱子bar这应该是一个非常大的随机整数 CREATE TABLE foo bar bigint DEFAULT round 9223372036854775807 bigint double precisio