我将pgcrypto扩展名插入为超级用户,如下所示:
CREATE EXTENSION pgcrypto;
作为超级用户,我对它进行了测试,结果发现:
select gen_salt('bf');
gen_salt
-------------------------------
$2a$06$CJPcLcOBZnCEl.Z5ChrSbO
但是,当以其他用户身份登录时,会出现以下错误:
select gen_salt('bf');
ERROR: function gen_salt(unknown) does not exist
如何使pgcrypto库对所有用户可见?
谢谢。
最佳答案
PostgreSQL扩展是针对每个数据库的。如果您登录到另一个数据库,扩展名在那里不可用。默认情况下,任何用户都可以使用这些函数。