在创建一个linux软件raid设备作为raid10设备时,我很困惑为什么必须对其进行初始化。实际上,同样的问题适用于 raid1 或 raid0。
最终,大多数人会在其上放置某种文件系统,并且该文件系统不应假设磁盘数据的任何状态。每次写入都会影响 raid10 或 raid1 设置中的两个磁盘,其中写入了 N 个镜像。应该没有任何理由最初初始化 raid10,因为它会随着时间的推移而发生。
我可以理解为什么对于需要奇偶校验的 raid5/6 设置,但即使如此,这似乎也可以懒惰地完成。
只是为了让人们感觉更好吗?
所以我试图在 postgresql 中散列一些密码,我为 postgresql 找到的唯一散列解决方案是 pgcrytpo 包的一部分(http://www.postgresql.org/docs/8.3/static/pgcrypto.h)。 html ) 应该在 postgresql-contrib ( http://www.postgresql.org/docs/8.3/static/contrib.html ) 中。
所以我安装了 postgresql-contrib,(sudo apt-get install postgresql-contrib),重新启动了我的服务器(作为重新启动 postgresql 的简单方法)。
但是,我仍然无法访问应该在 postgresql-contrib 中的任何散列函数,例如:
ninjawars=# select crypt('global salt' || 'new password' || 'user created date', gen_salt('sha256'));
ERROR: function gen_salt(unknown) does not exist
ninjawars=# select digest('test', 'sha256') from players limit 1;
ERROR: function digest(unknown, unknown) does not exist
ninjawars=# select hmac('test', 'sha256') from players limit 1;
ERROR: function hmac(unknown, unknown) does not exist
Run Code Online (Sandbox Code Playgroud)
那么如何在 ubuntu 上的 postgresql 中散列密码呢?