假设我正在创建一个表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(使用前将#替换为@)