我将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扩展是针对每个数据库的。如果您登录到另一个数据库,扩展名在那里不可用。默认情况下,任何用户都可以使用这些函数。

07-28 00:29