微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

假设我正在创建一个带有列栏的表格foo,它应该是一个非常大的随机整数.
CREATE TABLE foo (
    bar bigint DEFAULT round(((9223372036854775807::bigint)::double precision * random())) NOT NULL,baz text
);

这是最好的方法吗?谁能说出Postgresql的random()函数的质量?这里的乘法是否掩盖了熵?

请注意,我确实有很好的硬件熵送入/ dev / random.

Postgresql random基于他们自己的 portable implementation POSIX erand48.它是4800域中的 linear congruential PRNG.

如果您需要更强大的外观,请查看pg_crypto模块的gen_random_bytes函数,该函数用于生成加密强熵.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐